With the explosive increase of smartphones, tablets and laptops, the past few years have witnessed the exponential rise of mobile data traffic. This has already caused data overload on cellular networks. As a result, cellular networks can not offer sufficient capacity to accommodate the numerous mobile data requirements. Therefore, it is an urgent agenda for cellular network operators to find out immediate solutions. As a promising way to tackle this problem, mobile data offloading is considered to transfer traffic which originally generates towards cellular network to complementary networks. This article aims to present a comprehensive overview of mobile data offloading. According to the participation of infrastructure, we classify the existing strategies into two major categories, namely infrastructure-based strategies and infrastructure-less strategies. Then, we review the technical aspects and discuss the state of the art in each category. After discussing advantages and disadvantages of these strategies, we also introduce the performance metrics used in offloading system, as well as the future challenges.