I had to think about this one, but after looking up назад on Russian Wiktionary (Vikislovar), here's my explanation for why the dative тому is often used with it. When назад is used with the meanings "towards the rear" or "back to the original source," it is considered a "наречие" -- i.e., an adverb. But when it's used in the meaning "ago," назад is regarded as a "предлог" -- a preposition, logically meaning "behind" or "in back of".
And prepositions, by their very nature, need a noun or pronoun to come after them (although English is much less strict about this rule than Russian or Latin!). So тому is often put in there for the "prepositional" назад to go with. In other words, "птяь лет тому назад" logically means "five years in back of THIS present moment."
P.S. I checked an English dictionary, and "ago" is definitely considered to be an adverb (or, in some situations, a predicate adjective), but not a preposition.