The exponential growth in the number of smart devices connected to the Internet of Things (IoT), and associated with various IoT-based smart applications and services, raises interoperability challenges which could affect the sustainability of IoT services. IoT software applications are built using different software platforms and embedded in diverse types of terminals and sensing devices. Aiming to offer smart services over a range of network technologies that use different communication protocols. The concept of Web service with service-oriented solutions was introduced to cope with the heterogeneity of hardware and software, and to tackle issues of interoperability, flexibility and scalability. The main step of this solution was the integration of Web of Things technologies into smart device networks, with the utilization of IoT gateways. Service management is a crucial factor in sustaining service-oriented solutions in dynamic and highly scalable IoT systems, and is concerned with several issues associated with service provisioning, orchestration, composition and adaption. This work was motivated by the need for robust and flexible service management systems that can meet the requirements for the rapid scalability and heterogeneity associated with the exponential growth of IoT systems. In the literature there is no survey of service management issues and associated research efforts in the field of IoT. In this article, we identify the key requirements for managing IoT services as well as common service management platforms for IoT. We provide a thematic taxonomy based on the important factors, and investigate recent advances in service management for IoT systems. Finally, the major challenges that remain open are presented as a guide for future research directions.