Most chatterbots communicate with their human partners through a simple text interface, although some include speech recognition and text-to-speech features. Most use a sequential chat dialogue where the chatbot says something, then the human, then the chatbot, etc. Systems where dialogue can overlap and the participants interrupt each other are much rarer.
The first and probably most well-known chatbot was ELIZA written in 1966 by Joseph Weizenbaum to simulate a therapist. This introduced a lot of the techniques now common in chatbots to simulate understanding such as: general questions, rephrasing statements as questions and referring back to previous statements. ELIZA later inspired the award-winning ALICE chatbot constructed by Dr Richard Wallace of the ALICE AI Foundation.
Most chatbots use some form of Natural Language Processing (NLP), matching the user's input against a databases of words and phrases. They then select a response based on that input and (in more advanced cases) on the context of the conversation. Such responses are usually either "canned" phrases or templates into which relevant variables can be slotted. There are also a limited number of "learning" chatbots such as Nick and Jabberwacky that don't start with a hard coded response set but pick up what the users say. These are sometimes built using neural networks and connectivist models.
Are chatbots actually "intelligent"? That is a question that produces much debate and the answer is probably more a matter of philosophy than science. A sufficiently advanced chatbot could in theory pass the basic Turing Test - however many modern workers in the field of AI reject that as a measure of intelligence.
Bots are sometimes deployed in chatrooms, on IRC and across messenger systems such as Yahoo and MSN. There are even chatbots appearing in virtual worlds such as Second Life. Most of these are benign however some are - by accident or design - a positive nuisance.
The nice thing about such systems is that they remove the need for chatbot builders to be programmers, allowing them to concentrate on building the personality of their bot.