More than likely just a corroded/loose connection. It may look ok but it should be taken off and cleaned up,tightend down. If it's bad enough,replace the cable end or wire itself. Even a low/bad battery can cause things to heat up,as its trying to grab more amps than it can put out.
Also make sure the ground is good and clean.