It depends a lot on which version of the English language you are talking about. The word "pupil" is rarely used in US English, but it the common word for a student in pre-college education in the UK (and I believe AUSNZ, but a speaker from there can correct me if I am wrong.)
From a meaning point of view, pupil conotates a ward type relationship, one for which the teacher is responsible for the student beyond their learning, in loco parentis you might say. Etymologically it derives from the Latin for orphan or ward.
It makes sense then, that pupil would be used in the UK until the person goes to college, whereupon they are considered an adult, and no longer subject to such supervision. Not that I am suggesting that US teachers don't care for their students of course! Just that they don't use a word that connotes such. "Pupil" is an odd sounding word to the US ear, and it wouldn't surprise me if an American had not even heard the word outside of the different but homographic and homophonic word pupil, referring to a part of the eye.
Student, of course derived from study, is simply someone who is studying, often under the supervision of a teacher with no other type of relationship applied. For example, one can certainly be a student, without a human teacher. Student is the idiomatic word for a kid in school in the USA.
Student can be used all over, and is a good default word to chose, and would certainly be the appropriate choice for an adult learner, such as an MBA student.