A bot can be one of two things.
The first would be an user account through which human users can control that bot account using a software such as the AutoWikiBrowser or through a framework such as pywikipedia, as would be the case for bots like CzechBot, CoreyBot, or SV7, as well as the various other bots used on Wikia.
It can also be a bot script. Scripts are occasionally referred to as bots because of the way in which they interact with a wiki. Scripts like replace.py or category.py are sometimes referred to as the Replace Bot and the Category Bot, respectively. Say, for example, a user created their own script, alfred.py, this script could then be known as the Alfred Bot.
On larger wikis, such as Wikipedia, there isn't any kind of difference between the two. Users may create several bot accounts, each of which run a specific bot script. For example, User:AlfredBot may be used to run the alfred.py script and only that script. However, some Wikians may use multiple scripts from the Script Library under one central account.