Intelligent Transportation Systems (ITS) are built on top of self-organizing networks, known as Vehicular Ad hoc Networks (VANET). In VANET, each vehicle equipped with communication devices represents a node and is allowed to send and receive safety messages through wireless communication channels. These messages are either periodic (beacons) or event-driven. Beacons are transmitted periodically while the event-driven messages are generated when an abnormal condition or an imminent danger is detected. The event-driven messages should be delivered to neighbouring nodes with high reliability and limit time as a single delayed or lost message could result in loss of lives. In dense network, the periodic messages broadcast lead to broadcast storm/blind flooding problem in VANETs. It is very important to keep the communication channel free from congestion in order to ensure timely and reliable delivery of event-driven safety messages. This study presents a review of existing congestion control schemes for VANETs with the aim of discussing the contributions and drawbacks of the algorithms.