I always believed that for most career minded people, it is not how well your employer is doing, but it should be about what value are you adding to your own skill set in the organization you are currently working for.
Perhaps the two organizations mentioned in the question here Google and Facebook are often talked about because their products are being used on a daily basis and they get a lot of media attention too.
The problem of attrition is not specific to Google and Facebook though.
Most large businesses despite the heavy perks to their employees will face a similar challenge. From an individual point of view though, one must note that the perks do not add any value to the CV.
I never worked for either of the companies, however I have no doubt that they execute the most exciting of projects in their portfolio. However, not everyone gets to work on cream of the project. Surely, there will be routine and mundane operational work to be done, which does not give any learning opportunities.
For the outside world, whenever an individual who works for a reputed organization makes a decision to move on to greener pastures, will most certainly be questioned about their decision by their own family, friends, relatives and even co-workers.
Stagnation, internal politics, lack of recognition, frequent restructuring, bad boss, lack of growth opportunities are some of the reasons people quit and Facebook and Google are no exception.
Those who choose to stay back continue to do so because of family commitments such as kids schooling nearby to work etc.
Not many will admit though and as it happens to most people, when they quit and join another organization especially if it is a smaller size, they do miss their previous employers especially the ones like Google or Facebook.
In current economic times though, it makes sense to stick to these stable organizations, because grass always seems greener on the other side. However, individuals must make choice in the long term interest of their career.