For cohomology, there are some equivalent definitions when the object we consider is sufficiently nice. Since I mainly work with algebraic variety, I will restrict the objects I am considering to be algebraic variety.
There are several ways I think of cohomology namely:

 - singular cohomology (valuation of simplices)
 - de Rham cohomology (differential form)
 - Chow ring (closed subvariety)

I personal prefer thinking in the third way since it seems to be more geometric and easier for me to work with.

However, for characteristic classes, I find it hard to visualize. I know the technical details about them and some of their useful properties but I just don't get a feeling of it. Since I usually work over complex number, I personally more interested in how people think of Chern class.

Thank you!