NASA has a reduced budget so has to do more with less.
The overarching goal is Mars...
The asteroid visit is a stepping stone, which they'll have to do anyway at some point.
Just like when they were going to the moon, they did a few orbits of the Earth first before moving to to orbiting the moon, then finally landing on it. The asteroid visits, capture, asteroid insertion into lunar orbit, etc are all steps rather than a single shot system whose only purpose is to get to Mars. We saw how useful Apollo was at being reused for other purposes. So multi-mission capable systems are what they're looking towards.
While NASA is harvesting resources from the asteroids, SpaceX might get their act together and propose their martian lander system. NASA can then throw resources at that, as they have done with COTS and CCDev.