Flat paint is great for ceilings, it absorbs the most light so it masks any small inperfections.
Eggshell is a cross between satin and flat and is my preferred choice for interior walls.
Satin is good for high traffic areas and is a more washable choice.
Semigloss is used mostly for door trim, doors, woodwork, crown molding and so on.
Gloss paint is great for perfect walls as it will not hide imperfections as well, also good for trim.