I used to be a nurse and my longest time I have worked in a single company is five years when I was in Doha. Taking care of babies is a pretty fun job, yet it takes a lot of responsibility and trust from the parents who let their babies be taken care of. I had learned so many things in those five years experience in that hospital, and I was grateful to be a "pseudo-mother", as I would say, in those times that I have been there.
Aside from the salary that is well compensated, I guess a good relationship with colleagues and seniors would be one of the factors for someone to prolong his/her stay in a given company, and makes a job more fun in a professional way.