Everyone has his/her favorite, so it's a tricky question to answer objectively. A lot of people love WordPress, but as pinkypainter says, it's really for blogs and has to be hacked around a bit for other uses. Then you need to mess with server-side code, and it can get messy.
In my view, the best CMS on the market is ExpressionEngine, but it's not free. However, it's a very nice system, and does not impose anything on your templates, so you build them from scratch, with familiar HTML and CSS, which is great. A somewhat similar, free alternative is MODx, but I still think EE is the clear winner, so I've basically pulled the chain on the rest.
The only other one I use, for small sites that just need some simple content management, is Perch, which also is a beautifully designed, unobtrusive CMS. You build your site as you wish, with PHP includes etc, and use Perch to make certain sections of pages editable. Very elegant and simple to use.
[Now await the inevitable posts from others that contradict everything I've said!]