Why do some packages have the version number in their package name and others don't?

view story

http://askubuntu.com – This happens all the time, but here's an example: libgdal-dev, versus libgeos-3.3.3 Why are some packages named with the version number and others are not? This seems to happen more with libraries, so that might hold a clue (other packages depend on specific versions?), but I recall it happening in other contexts also. Finally, what are the implications of installing a numbered version when that version becomes obsolete? If I install libgeos-3.3.3 does it not get automagically upgraded to libgeos-4.5.0 when 3.3.3 is obsolete? (HowTos)