I don't think offering perks is necessarily supposed to engender loyalty. It's still a transactional relationship ("ok, google might pay less than the startup but I do get free lunches at google...").
In most companies I have more often seen not even a shred of expectation of loyalty. It's pretty normal to see critical employees quit at an inconvenient time on a critical project and the only person who expresses any bad feelings is the employee in question feeling a bit guilty.