How do I know if I need a new hard drive?
I have the same model of Macbook which was showing the same issues. After replacing the Harddrive with an SSD I still had the same issue. 

It ended up being the SATA cable connecting the hard drive to the logic board. Over some time the insulation had started to wear off and the cable was occasionally shorting against the base of the case causing IO errors. Once I replaced the cable these errors stopped happening.

A good way of checking this would be to use an external USB to SATA cable and try and boot the laptop from it externally. If the drive functions well when doing this then it is likely the SATA cable that is at fault.