STFT: why overlapping the window?
We always want to apply some kind of a window function in order to minimize the effect of leakage. This makes rectangular window (lack of any windowing) case never used, this is why:
Any tapering function used is almost always decreasing to zero at boundaries. 



This is why we are losing some data. In order to retrieve that somehow you will usually do 50% of overlap when processing. This will retrieve whatever was in between.




Another thing is that if you apply the Inverse STFT, you should use complementary window, that is summing to 1, i.e. Hanning with 50%.


Finalising - yes, you should pretty much always use windowing in your applications. 

For more comprehensive informations please refer to great white-paper:


  Heinzel G. - Spectrum and spectral density estimation by the DFT,
  including a comprehensive list of window functions and some new
  flat-top windows