In short, a blog carnival is a blog promotional event where one blogger acts as the host and other bloggers act as participants. The host announces the carnival date and topic then other bloggers who write about that topic on their own blogs write a post related to the blog carnival's topic and publish it on their blogs. Each participating blogger sends the host the link to their specific blog carnival post entry.
On the date of the blog carnival, the host publishes a post with links to each of the participants' entries. Typically, the host will write a summary of each link, but it's up to the host how he or she wants to display the links to the various entries. When the blog carnival post is published by the host, readers of the host's blog will have easy access to a variety of posts related to a topic of interest to them.
Each participant is expected to promote the blog carnival on their own blogs in advance of the carnival thereby driving traffic to the host's blog. The assumption is that when the carnival date arrives, the host's readers will want to read the various participants' entries to the carnival and will click on those links to visit the participants' blogs thus driving new traffic to the participants' blogs.
Often a blog carnival is an ongoing event with the host running the carnival weekly, monthly or quarterly, but they can be one-time events as well. Blog carnival hosts may put out a call for content on their own blog or by contacting other bloggers they know that blog about the carnival's topic.