In either case, it only occurs every 2 or 3 years, which is how the saying "once in a blue moon" came to describe things that happen rarely. A blue moon will occur next on August 31, 2012.
Because lunar months don't have the same number of days as calendar months, we accumulate a few extra days each year. After 2 or 3 years, these extra days add up and result in an "extra" moon. Although we had a full moon on August 1st, we'll have another one on the 31st.
The moon won't actually appear blue, the name came about as a "placeholder." In many Native American tribes, each moon had a name corresponding with events for that season or month. When an extra moon appeared (the third moon in a season with four moons), it needed to have a different name in order to keep the descriptions accurate.
While August's moon is typically called the Full Sturgeon Moon, that name would be given to the full moon that occured on August 1st. Since the next moon should be the Full Corn Moon, signaling the time to reap corn harvest, calling the August 31st moon a blue moon keeps the timing correct and places the Full Corn Moon in September, where it belongs.
More recently, a blue moon came to describe the second full moon in a month. This definition originally came about as a misinterpretation of an article written in 1946, but it's the definition most people think of today.
Particularly special about this blue moon is that it will occur on the date of Neil Armstrong's funeral service.
The next blue moon won't occur until July 31st, 2015. And in 2018, we'll have two blue moons in one year.
So here's to all those things you've been told will only happen "once in a blue moon!"
(Note: In time zones east of UTC+09, the blue moon won't appear until September 30, 2012).