Just imagine if Neo wakes up at the end and realizes it's all a dream. Wouldn't that make quite an ending.
A stupid ending. Jesus, first Slashdot, and now here. Why does everybody suggest a "It was all a dream!" ending like that's a brilliant idea? It's the oldest, dumbest idea in the book, dude.
I mean, geez. It applies to any movie. What if at the end of Indiana Jones and the Last Crusade, he wakes up and realizes it's all a dream? What if at the end of Dinner with Andre he wakes up and realizes that the entire dinner was just a dream?
If those are stupid ideas for those movies, why do you think it would work any better for the Matrix?
Not to jump down your throat, but anybody who would suggest such an ending has really no idea about how fiction works.
All fiction is a dream, of sorts. To actually spell that out at the end is pandering and infuriating to everybody whose time you're wasting.