In the last decade, blockchain has emerged as one of the most influential innovations in software architecture and technology. Ideally, blockchains are designed to be architecturally and politically decentralized, similar to the Internet. In recent times, however, blockchain-based systems have faced stumbling blocks in the form of challenges related to scalability, privacy, security, etc. Several new methods have been proposed both by the research and professional communities to mitigate these challenges. One such recent advancement proposed is the use of sidechains. A sidechain is a secondary blockchain connected to the main blockchain with a two-way peg. Sidechains may have their own consensus protocols, which could be completely different from the mainchain's protocol. Theoretically, a sidechain can add new functionalities, improve privacy, and security of traditionally vanilla blockchains. To this date, however, little is known or discussed regarding factors related to design choices, feasibility, limitations and other issues in adopting the sidechain technology. Moreover, there is a lack of studies discussing how and where it can effectively be integrated into blockchains to remedy current issues in a clear context. Hence, this paper provides the first comprehensive review of the state-of-the-art sidechains and platforms, identifying current advancements and analyzing their impact from various viewpoints, highlighting their limitations and discussing possible remedies for the overall improvement of the blockchain domain.