I agree with that, for a number of reasons.
1. As you say, people can't buy everything at Christmas. In fact, I wonder how many iPhones are really sold at Christmas. Because they are tied to carriers and contracts, it seems like something that is difficult to give as a holiday gift. Maybe iPhones should be released in the spring?
2. It avoids those really long periods with zero product announcements where all the analysts and media start piling on Apple about having no innovation and nothing new to show (right or wrong, those matter because it's what the general public and shareholders will hear).
3. It lets Apple spread out its resources and keep core teams together. We've seen a number of times where engineering and design teams will get pulled off whatever they are working on in a push to get another product out, which delays the product they were working on, and may mean more bugs from using engineers not as familiar with the project they were working on daily. We may see this happen soon with OS X Mavericks and iOS being released so close to one another.
But one problem with this, for software, is that there is only 1 WWDC each year, and Apple likes to put beta versions in developer's hands at the conference. I wonder if, at some point, they would do a winter WWDC (January?) just for OS X, and leave the summer WWDC for iOS. It would be smaller of course, but considering tickets for this year''s WWDC sold out in under 2 minutes, it seems like it could be supported.
4. It avoids overloading Apple support call centers and genius bars, with all kinds of problems, training, repairs, and returns all coming at the same time. That means a worse experience for users, if they have to wait in long lines.