I'm personally of the opinion that verify is harmful, because it does tie your test to your implementation. Unless that's absolutely needed (it probably isn't), it's a bad idea.
I use mocks more-or-less as advanced stubs, because when something has 600 methods in it (legacy code base fun) and I need one of them I don't particularly feel like generating that entire stub.