Reference counting is a form of garbage collection, although a very bad one. And I don't know about the others, but Python does use reference counting, although it combines it with another garbage collection algorithm to avoid some of reference counting's most egregious failures (it not being able to collect cycles).
Reference counting isn't even very bad; for certain patterns of allocation, it's even optimal. However, for certain people, having to manually deal with cycles is enough to switch to a mark-and-sweep type collection mechanism.