Best advice is to switch to an SSD as your boot drive. External over Thunderbolt or USB 3 is the easiest way to do it. This should noticeably improve your boot time and general system responsiveness as well.
Many reasons. Failing hard drive, old computer, 21.5" iMac 2012 onwards use 2.5" 5400rpm drives and are like treacle, hard drive capacity reached are some thoughts. I will get the crystal ball out.