Routing (and forwarding) is a core problem in networks for delivering data from one node to another. Today wireless networks are becoming popular because of their “3 Anys”–Any person, Anywhere and Any time. Wireless ad hoc networks are termed as mobile distributed multihop wireless networks without predetermined topology (preexisting fixed infrastructure) or central control. In this paper, we present a comprehensive review for routing features and techniques in wireless ad hoc networks. For more than a dozen typical existing routing protocols, we compare their properties according to different criteria, and categorize them according to their routing strategies and relationships.