The ocean covers nearly two-thirds of the surface on the Earth, and there has been great interest in developing underwater wireless sensor networks (UWSNs) to help us explore the ocean realm. A great deal of efforts have been devoted to it, and significant progress has been made since the beginning of 2000s. However, most of the networks are isolatedly developed currently, inherently hardware-based and application-oriented with inflexible closed-form architectures, which are difficult to reconfigure, reprogram and evolve. They also lack the capability in sharing resources, and are far from service-oriented networks. These limitations impair their capacity for wide range of applications. To further propel the development of UWSNs, next-generation UWSNs have been proposed recently, which are robust, flexible, adaptive, programmable, support resource-sharing feature and are easy to manage and evolve. Moreover, a number of novel software-defined techniques and paradigms, such as software-defined radio (SDR), cognitive acoustic radio (CAR), network function virtualization (NFV), software-defined networking (SDN), Internet of underwater things (IoUTs) and sensor-cloud, have been emerging. These software-defined technologies have the capability of softwarizing network resources, and then redefining them to satisfy diverse application requirements, improve resource utilization efficiency and simplify network management. Consequently, these evolving technologies are envisioned as critical building blocks and major driving forces, which will transform conventional UWSNs towards software-based, programmable, user-customizable and service-oriented next-generation UWSNs. In this paper, we provide a comprehensive review of existing works on implementing these techniques, and also present discussions for future research. We hope to inspire more active research on these areas and take a step further towards realizing next-generation UWSNs.