I'd avoid Richmond, not because it is bad necessarily, but it is just suburbs with little to redeem it.
If you stay in the city try for the West End - the Sylvia hotel is maybe the best balance of cost and location - though it isn't necessarily cheap by global standards. There are likely some AirBnB places there.
I wouldn't personally go to Kerrisdale for the reasons mentioned above. Kitsilano is really nice and right next to amazing beaches and some museums, as well as Bard on the Beach (if you are into that kind of thing). It is also close to UBC, which also has some interesting Museums.
There are likely some AirBnB sorts of places in those areas, as well as the West End (which I personally prefer for a visit). Both are along the seawall, which is wonderful (~30km of walking/cycling path along the water). Bike rentals are fairly available. Stanley Park is also right there and excellent - beaches, pools, playgrounds, trails, Aquarium etc.
For kids: Science World (which is on the seawall and very close to a Skytrain station) and the Aquarium are both excellent. Also beaches, of course. Free stuff might include frisbee golf at Queen Elizabeth Park (a go to for me when I am in the city with my older boy for his various sports activities). There is a ton of hiking and trails of all skills levels on the North Shore, but some of it requires a vehicle to access.
The post about danger East of Granville is a bit hyperbolic. There is some homelessness, but physical danger isn't really an issue (property crime yes, violence no).
Whistler and Victoria are both nice. Whistler is very expensive, especially if you stay over. Victoria has the Royal Museum and a nice downtown area.
I would like to add a plug for the Sunshine Coast, which is accessible by ferry from Vancouver. It is more rural but has lots of beaches and outdoor activities, and is definitely lower cost than Whistler or Victoria.