Its all about the flexibility really. Ultimately everything (save the most extreme examples) gets rasterized but by using vector lines the rasterization process can be optimal at whatever scale it needs to be done at so you can use multiple scales and have one vector map.

Its neigh on impossible to vectorize a photo however. The best you can do is quantize the colors into bands and vectorize those bands. It can look alright but you can usually tell. If those colors are solid like a logo or a font then it can be better to vectorize them however.

If all of your raster icons, textures and other source bitmaps are a lot higher res than the highest final version of map you want to make then there is minimal loss of accuracy by using these high res sources to make a lower res map. Thats why having all the source textures nice and high res is important.

So on to convenience. Its much easier to modify a vector line than it is to modify a rasterized one. Theres other math things that are much easier on vector lines too - like ensuring that the ends of two lines are linked perfectly or ensuring that circles are really circular etc.

Finally, its pretty easy to raster a vector line optimally but its harder to vectorize a raster line. Well ok a line on its own isnt so hard but generally its harder to vectorize raster stuff than rasterize vector stuff so it can be a kind of one way process in many cases. So people might make initial stuff in vector, modify it and then raster it and do all the fills and bitmap stuff from there on. Knowing whats good about each is the key tho. I always advise that you should be familiar with one of each type of app.