A wireless sensor network is composed of multifunctional sensor nodes scattered in sensing fields. Wireless sensor networks (WSNs) are widely used in applications like Military, Environmental monitoring, Health (Scanning), Space Exploration, Smart homes, Mechanical stress levels of attached objects, disaster management etc.  The transmission of information is a tedious task in WSN due to miniaturization of resources such as limited battery life, transmission power, etc. Moreover, the deployment of WSN in remote and hostile locations makes them vulnerable to unreliable communication links and numerous security attacks.
In the lieu of this, design of routing protocols should take into consideration various design issues and routing challenges. Considering the importance of fact, various routing protocols have been presented in the literature for WSN. Four main categories of routing protocols, namely location based, data centric, hierarchical and multipath based protocols are covered in this paper. A comprehensive survey of different routing protocols presented in the literature for WSNs is presented in this paper. Later on, we discuss various design challenges of WSN, advantages, disadvantages and performance obstacles related to each routing protocol. Some open research issues are presented in the paper conclusion.