All verbs which indicate movement (or lack thereof) require sein. Everything else requires haben. For example, 'ich bin gegangen,' and 'ich bin geblieben' both refer to movement/lack of movement, which is why they take sein. 'Essen,' for example, does not make any reference to position or movement, which is why we say 'ich habe gegessen'.