One of the biggest advantages of cold welding is that there is no heat affected zone. This reduces the risk of negative chemical and mechanical changes to the base material during the welding process. Another key advantage is the ability to join dissimilar metals, as mentioned above. Also, if cold welding is performed correctly it creates a weld at least as strong as the weakest parent material.
The primary disadvantage of using cold welding is that the materials must be extremely clean and oxide free to create a satisfactory weld. This can be difficult to do, and it can also be expensive and hard to implement in a high-volume scenario. Since at least one of the metals must be ductile, cold welding is also limited by what alloys can be joined together.