Sadly, while everyone blames Apple it is really FoxConn who is running their operations that way. It's very common in India and China.
I know programmers who were locked in a facility for the duration of a project. That's the way they work. None of the guys ever said they hated it nor did they quit because every other similar job had a similar locked down compound.
The saying goes "the fish smells from the head." Foxconn behaves the way it does because it wants contracts. Who is creating the contracts? Essentially Steve Jobs. Steve Jobs is the head of the fish.
If Jobs did not demand such insane secrecy, what motive would Foxconn have for treating it's employees that way? None. Every other tech company announces plans so that people know what it's doing. There are no keynote build ups. People know what to expect, and users generally like that. Sure, it doesn't feed CEO ego's but it's a better way to do business. It treats users with respect.
Apple and Jobs have completely lost it. I will still provide software for the iPhone, because it's a nice platform, but in terms of being a "dedicated" Apple user and recommending their products, I am totally done. Hardware quality has taken a nose dive, customer support is non-existent and frankly Windows 7 is far snappier (sorry Steve!) and capable. W7 screams. SL by contrast, is aptly called "Slow Leopard."
You wrap this up with the overpriced, behind-the-times-at-launch hardware, the stone walling on just about everything, Jobs refusal to use standards in both hardware and software, the actual poor quality and lacking features of the software, and what are you left with?
A company that facilitates indentured servitude apparently.
Sorry Apple, it's been nice.