Bot Services are web services that are tailored to bots. A bot can use a bot service to get some information, to answer a user's question, etc. The idea is to have bot functionality available for ANY bot, without having to download and install some code in your bot. You simply access a web site, sending the user's message and get a reply.
For example, say a user asks your bot to tell it a joke. The user says "tell me a joke". Instead of having 1000 jokes stored in your bot and having the code for jokes in your bot, you simple access a Joke Bot Service and get a reply.
Here's a service I wrote that answers simple questions about animals and objects:
If your user asks "what is a bird?", you can access the service and get an answer. All with NO EXTRA CODING on your part. All you have to do is use LWP::Simple to access a web site and get the answer. And that will work for all services.