In most cases, I'd avoid any of the new elements introduced in HTML 5. They tend to need JavaScript in order to render correctly in some commonly used browsers, and don't provide much in the way of practical benefits today.
Some of the APIs can be useful, but need to be taken on a case by case basis … and still function in HTML 4.01 documents.
Avoid CSS 2 in favour of CSS 2.1 (since it better reflects what browsers actually do). Examine CSS 3 properties and selectors on a case by case basis, comparing benefits, browser support, and what happens in the cases that browsers don't support them.