All of these points are good, but sometimes it can be something completely out of your control: An opportunity for advancement. I have interviewed countless managerial candidates who gave that as their sole reason for leaving a job that they loved with a small company.
And don’t worry: the Karma thing is right, too. A number of years back, a PJ’s opened down the road, and my manager and her crew walked in mid-shift, all except for 2 employees. One left, but gave his notice, and the other stayed. The one that left came back within 2 weeks, along with most of the others. I welcomed back the employee who had given notice, and poliely refused the others. The PJ has been mired in staffing problems since, and has had to close several stores in the area (same owners).