What is the best paint finish for walls?

Flat or matte for living rooms and bedrooms (hides imperfections, modern look). Eggshell for hallways. Satin or semi-gloss for trim, kitchens, and bathrooms.