There are many kinds of bots, some of them are very useful, some of them are destructive. They basically act on their owners behalf, and so like their owners, can be beneficial or destructive. Examples of useful bots include service bots which provide some service such as the dispensing help files in response to user requests. The most common form of a bot is what is known as a channel guard bot. In IRC channels are dynamically created and, when everyone leaves them, destroyed.
Many people meet on a given channel regularly.
To assure that channel is not taken over by another group, they will run a channel guard bot. Channel guard bots are also used to control content. For example, a channel guard bot can be set up on a channel intended for children to automatically kick anybody out that uses inappropriate language. Channel guard bots which are the most common type, would not be necessary if servers maintained channel state information rather than discarding it. To do this or not to do this seems to be a bit of a religous issue amoung operators, but from the users perspective it seems that it would be a pretty desirable feature.