Most of you would already know the term "HM Slave" or "HM Muel" and those of you that dont would more than likely have still used one to an extent.
But for those who haven't, a HM Slave is a pokemon (generally a weak, low level) that you use solely for out-of-battle gameplay to get you through obstacles that are blocking certain areas you may need to go.
The aim of slaves are to have all of the HM's that you need on your specific route in the smallest amount of pokemon possible.
Other than taking the Bibarel route for HM Slaves, 2 really easy pokemon that you can get your hands on that make great slaves are Gyarados and Pinsir. Together they cover 7 of the 8 HMs making space for 4 strong pokemon.
(HM06) Rock Smash
(HM08) Rock Climb