Do you have DRS configured? If so is it in Fully Automated? If the VMs are not moving from the host, check for DRS recommendations.
Check out my blog at http://www.ridethevirt.blogspot.com
Most of the time this is because the host has VMs that are still powered on running on it. Either Vmotion them to another host, or power them down. If you have DRS enabled it will try and do this for you automatically but if it is unable to VMotion a VM to another server for some reason (capacity constraint, hardware incompatible for vmotion, no shared storage, etc) then it will still stick at 2%.
Power off or move all VMs on the host before trying to put it into maintenance mode.