Beamforming techniques - pros and cons I would like some advice on which beamforming method to use from someone with experience in the field. 

I have radar data from the ocean which has been transmitted by an omnidirectional transmitter and received by a linear array of 8 antennas with half wavelength spacing. 

The signals come from all directions and I need to separate them using beamforming. 

I started by using a simple phase shift beamformer which I wrote in Python but it wasn't filtering the signals from other directions well.

I've found the Capon beamforming technique to be an improvement. There's a toolbox on MATLAB which provides good functions for doing this.

However, my questions are: 


What beamforming method would be best for this job? 
What are the pros and cons of the different methods?


If any more details are needed, please ask.
For spatial filtering there are numerous beamforming techniques and it will be difficult to compare all here, there are numerous resource available on internet.

As related to your specified beam forming techniques,


Phased shift beamformer also known as conventional beamformer:
This beamforming techniques tries to add constructively the signal from the provide direction. This algorithm thus shifts the signal such that they align perfectly at the provided direction and thus sums up constructively. This algorithm has the worst angular resolution amongst different beam forming techniques as all signals from other directions are also included into the result. The resolution is in the range of the beam width of linear array.
Minimum variance distortionless response (MVDR) beamformer also known as CAPON beamformer: This beamformer is based on matching the array response matrix with the inverse of the sample correlation  matrix, thus enhancing the signal from considered direction and also suppressing the effects from the interfere signals from different direction other than the direction under consideration. The resolution of MVDR is far better than phased shift beamformer.


Among these two algorithm stated above the MVDR has benefit related to separation between two signals but on the expense of more computations.
It would be of worth to also look into the Linear constraint minimum variance beamformer (LCMV).

The implementation of MVDR and LCMV weights for beamformer is present in MATLAB MVDR weights and LCMV beamformer.