Sensor networks are built from tiny, resource limited nodes, which are able to communicate with each other, and thus, provide distributed services. The quality of communication, and especially of routing, is one of the major enablers of good performance, energy efficiency, and longevity in resource-deprived sensor networks. Since the advent of wireless sensor networks, literally hundreds of routing algorithms, tailored especially for this domain, have been proposed in the literature. This chapter highlights the main ideas and illustrates how these solutions help to reach various design goals. After a general overview, the taxonomy of routing algorithms in sensor networks will be presented, and then the mainstream algorithms, with the greatest impact on the field, will be introduced and analyzed. Through typical routing algorithms, we will show how and what kind of quality of services can be provided for various application needs.