The other day, Bill posed a question in the comments about why do the networks not just announce their schedules rather than let all kinds of silly drama play out in public with media spinning each and every move. Bill speculated that it was PR value, but I think in the intervening time Bill actually got one of the primary answers. Probably especially due to the writers' strike there were more "sophomore" shows this year that were given another chance, but only with orders of 13 episodes. Which brings us to the first reason:
1. To keep a show's production staff as motivated and energized as possible.
What seems to be a primary reason heading into winter schedules is simply to keep all the ships afloat. You don't want unhappy, unmotivated people moping around and producing television shows. If the networks know they are not going to order more, but also have no plans to yank the show from the schedule until the current order is up, until the original order is finished and the shows have been made, there is downside to telling the show "we aren't ordering more."
In fact, unless you planned to halt production and/or yank the show off the schedule immediately, there is no upside to letting the show know - even if you know. This might suck a little bit, but it's just the nature of things. Imagine if after 6 episodes had been made of show XZY, network ABC knows it isn't bringing it back for the winter. But having nothing to air in its place, decides to let the show air its full 13 episodes. If you let the people working on the shows know of that decision while there are still seven episodes to be made...lots of moping around. Not a good atmosphere for producing high quality product.
2. Negotiation leverage
Like many businesses television is a power game, with people constantly trying to wrestle for control of the upper hand. I think this is worse in some instances than others and varies network by network (this exists on cable too). I'm sure unless the ratings are just completely atrocious, or obviously very good, the discussions from the network side go something like this:
"Yeah, we're not going to be able to bring back all of these fall shows for the winter. We're thinking about keeping about X (number of shows) and going with Y (number of new shows) in the winter. Oh, by the way, if only your show cost $300,000 less an episode to produce, that would be soooo cool. Anyway, have a nice day."
In all but the case of the true hit, the networks have the upper hand. So if there are five marginally performing shows on the network and they want to bring back only one of them, the network gets some leverage with whichever show they plan to keep. What's it to the network to have them all competing, trying to make better shows and lower costs?
And to complete my list of three - and this may actually be the number one reason:
3. The networks really haven't made final decisions on the schedules yet
It's really simple for us to be black and white with the numbers and say "the numbers for these five shows stink, get rid of them all!" While when it comes to the numbers, it's likely fairly black and white, the networks have to deal with a lot of real life variables that aren't contained in spreadsheets. And especially if the scenario in the second item on the list is true, it may be a difficult process to decide which show out of five you would consider cancelling that you plan to keep.
There are also other factors we're not always (or even usually) privy to, like how production is going on new shows, what the network thinks of those shows, etc. As more data comes in, the landscape changes and so it's in the networks' interest to take as much time as they possibly can.
My guess is that the above reasons have always been in play. It may be more pronounced during this season's transition from fall to winter due to last year's writer's strike which if nothing else mucked up the production pipeline. On a speculative guess, the reason more shows were not cancelled earlier and even cancelled shows are getting to air their full run of episodes is that the pipeline was backed up and there just wasn't a lot already on the bench that they could pull in.
Also, the current economic crisis brings additional pressure so I think we're seeing more "screw it, if we paid for the episodes, we're AIRING them!" than we normally would've.
Update: commenter "Riff Rafferty" nails what is probably the best reason of all -- and I definitely should have (but didn't!) think of it:
If they've canned the show and they plan on burning off leftover episodes (which is just about never the case at CBS), there's one big reason they don't announce it - and it's not listed here. That being that advertisers don't want to buy ad time in cancelled series. At least not for a show which isn't a veteran.