We use it a lot, and I'm a HUGE fan.
Why am I a fan? Because it shortens the feedback loop on test coverage. With NCover, you gotta commit your code, then have CI do a build and run the coverage, then you get your results. With dotCover, you run your tests and get your coverage before you commit your code.
Also, it does covered/uncovered highlighting right in Visual Studio, so you can easily see what code is un/covered.
We also use dotCover as our code coverage tool as part of CI...it has a command line interface.