The adoption of a robust collision avoidance module is required to realise fully autonomous Unmanned Surface Vehicles (USVs). In this work, collision detection and path planning methods for USVs are presented. Attention is focused on the difference between local and global path planners, describing the most common techniques derived from classical graph search theory. In addition, a dedicated section is reserved for intelligent methods, such as artificial neural networks and evolutionary algorithms. Born as optimisation methods, they can learn a close-to-optimal solution without requiring large computation effort under certain constraints. Finally, the deficiencies of the existing methods are highlighted and discussed. It has been concluded that almost all the existing method do not address sea or weather conditions, or do not involve the dynamics of the vessel while defining the path. Therefore, this research area is still far from being considered fully explored.