Internet of Things (IoT) is a revolutionary and novel platform where a smart network connects to the large number of electronic devices via internet through available communication systems for reliable and real time connectivity, sensing thus acquiring data from sensors, computing and actuating devices. A review of the current status of IoT features, architecture, communication infrastructure and applications is presented here. Number of IoT applications and challenges in the development of smart cities are covered about this innovative technological platform in this review along with communication protocols characteristics and applications. IoT aided smart city services, health applications, transport applications and smart grid improvements are also discussed. Many challenges and issues related to security, communication, applications and system architecture along with future directions of IoT technology are elaborated in detail.