The Old Rod is a weak fishing rod that catches Pokémon within large bodies of water. It is given to the player by a fisher. In gen 1 all it will catch is Magikarp, which seems lame until you realize that by catching a Magikarp and raising it to level 20 you can get a Gyarados.
Location:
In Gen 1 & Fire Red/Leaf Green you can get the old rod by talking to a fisherman in Vermillion city.
In Gen 2 & Heart Gold/Soul Silver you can get it from a fisherman in the pokemon center on route 32.
In Gen 3 you can get it just outside Dewford town.
In Gen 4 you can get it from a fisherman in the get for Route 218/Jubilife city.
In Gen 5 there is only one fishing rod. You cannot obtain the old rod in Gen 5.