This is an interesting topic because it's often neglected, even in professional games.
I hate panhandle cameras (where the camera rigidly follows the player with pixel precision) and I also get annoyed by cameras that constantly sweep around to adjust to your direction. The best option in my humble opinion is to just set the camera to (player position * 0.9) or thereabouts. That way the camera will follow your movements with precision but will automatically make its motion buttery-smooth. It's the best of both worlds, in my humble opinion.
With platformer games I also prefer to make it so the camera's Y movement stays pretty static. When the camera follows you up and down with every jump it makes me feel a little bit sick. So I usually set it to only adjust itself whenever your feet land on a platform, or if you get too close to the top or bottom of the screen. Depending on the gameplay though this isn't always a good idea.
I've always thought the Megaman X games had an exemplary camera system, because the camera seems to move on a track for the most part; during long horizontal stretches the camera only moves horizontally. During vertical sections the camera only moves vertically. I imagine this requires a little more work to program (I'm still trying to figure out the most effective way of doing it) but it's a nice way to cut out a big beef I usually have with cameras: when they follow a character too rigidly you end up with half a screen of wall or floor. Especially in action games this is a horrible waste of precious viewing area.

It's an extra step to tell the camera where a playable area ends, but I think it's well worth it. Of course there are exceptions to this philosophy depending on the needs of the game but I think you need pretty good justification to fill half your playing area with floor tiles. Seasoned designers, feel free to dispute.
