A "bot" is a program designed to do some automated task usually over the interwebs. It is a robot without the metal shell. They have varying degrees of artificial intelligence ranging from the ability to call up today's weather to carrying on a conversation under the guise of a valley girl. You may have talked to them in you favorite instant messenger, fired at them in your favorite video game, or played against them in your favorite on-line poker room.
Poker bots and the bots of first-person shooters have some similarities. Both use AI to react to the human in an attempt to overcome. They have the ability to perform perfectly within the set of rules given. For example, a bot in the game Unreal can only jump as high or run as fast as the physics of the game allow, but they can exhibit perfect aim consistently if the game is set at the highest difficulty level. Likewise, a poker bot will only win when the cards they need fall, even though they can play with mathematical precision. A poker bot calculates probability, pot odds, implied odds, relative hand strength and the like better than the most pros. That's just how it is.
Best advice: don't play against bots. Unfortunately, you probably won't know when you are, so that advice is useless. Poker bots are prohibited by the poker rooms, but I still find some hacker-types manage to get some use out them before the site shuts them down. The other theory is that the sites themselves employ poker bots from time to time.
However, all is not lost. Humans do not have to submit to the machines. The bots play mathematically, not perfectly. Unlike in chess, humans can still win out. This is because of the intuitive aspect of poker. With a big enough database, the bot can access the one best move for every situation in chess, with poker they can't. Bots have a hard time computing bluffs--both when to execute bluffs and when to call. They have no tells but also can't read yours. Use this to your advantage. A little illogical play never hurts against our digital creations.