Just gonna throw my perspective out there, since I was a firsthand witness to this stuff.
I started at Google in 2005 as an ordinary software engineer, and I've not yet left them. Back then, Google recruiters were constantly bugging employees for referrals. But this "no poaching" thing wasn't some weird dirty secret among execs -- it was just sort of a common knowledge thing, and nobody seemed to think it was a big deal. "Oh, we have a gentleman's agreement with Apple not to poach them and vice versa -- so give us the names of your friends to reach out to, but not if they already work at Apple."
AFAICT, the reason I (and my coworkers) never thought of this policy as illegal is probably for two reasons:
1. Hey, poaching back and forth would create a lot of disruption and churn and mess up both companies' ability to get things done. Let's not start a pointless war.
2. We, as programmers, are ridiculously overpaid already. How could anyone possibly be "taking advantage" of us at these salaries? The notion seemed as absurd as a Programmer's Labor Union!
Again, the idea was not to poach, not to avoid hiring. If somebody from Apple applied for a Google job of their own will, that was fine.
In hindsight, I /guess/ I understand how this looks like evil collusion to keep salaries down... but really it seemed like common sense and civility at the time. At least that's how it was sold to us. It was sort of like the nuclear policy of Mutually Assured Destruction: "the only way to win is not to play." It's the same attitude that still explains why giant companies don't (typically) begin patent wars -- there's no point if everyone ends up destroying each other.