There are still BBSes (in fact, I still run one -- telnet to cavebbs.homeip.net port 23), but I will tell you about what they were mostly like back in the day.
A bulletin board system or BBS is a computer system running software that allows users to dial into the system over a phone line and, using a terminal program, perform functions such as downloading software and data, uploading data, playing games, reading news, and exchanging messages with other users. During their heyday (from the early 1980s to the mid 1990s), many BBSes were run as a hobby free of charge by the "SysOp" (system operator), while other BBSes charged their users a subscription fee for access.
That pretty much sums it up. If I had to clarify one major point is that BBSes are typically a pure ASCII or ANSI text phenomenon, with no graphics except those created by combining colored extended ASCII characters creatively (see ANSI ART). They were typically one-phone-line hobby systems that people dialed into one at a time using purely text (think MS-DOS command line) terminal emulation software.
On the BBS I ran from 1992 to 1998, the three most popular things for callers to do were 1) play online games (one at a time, of course -- you took your turns for the day, then another person called and took his turns, etc), 2) download files (my file section had many shareware programs that were freely distributable in it, in addition to GIF images and sometimes small sound files), and 3) Post messages and send email to other users who called the system. The posting messages part was how BBSes got their "bulletin board" name, and it was very much like a forum as we know it today, but purely text and less sophisticated.
These days, barely any BBSes still have a real dedicated phone line and a modem attached to them -- most are run more modern BBS software and have users connect through telnet over the Internet. If you'd like to try a BBS and don't know how to use a telnet client, try putting this into your browser's URL bar:
If you're using Windows, a black command-line screen should pop up. Follow the directions on the screen and have fun!
Also, to MegaKitsune. Not many people called long distance to connect to BBSes. Most people only called BBSes within their local area code. At the height of BBS popularity in the very early 90s, there were usually hundreds of local BBSes in major metropolitan areas. As a result, they were usually a "local" phenomenon, as opposed to the Internet, which is completely global. Although thanks to BBS-to-BBS hopping message networks (where BBSes in a network would call each other automatically and download/upload the latest posts to each other), it was possible to talk to people all around the country, albeit slowly. Back then if you had access to a BBS that was part of a nation-wide message network, you'd send emails to people you didn't know on the other side of the country just because it was so exciting. And they'd gladly reply, usually telling you about how the weather was that day.
And yes, since most BBSes were one-line, you had to put up with a busy signal a lot. Luckily, most terminal emulation software that was designed for BBS use would automatically redial constantly and sound and alert bell when your connection was actually successful.