In CouchDB a person always has to make use of map reduce to question results.

In MongoDB you are able to their query techniques for locating data, they also allow you to do map-reduce.

I question, when will i really need map-reduce?

Are individuals query techniques not the same as map-reduce and sometimes could they be just wrappers for map-reduce functions?

MapReduce is required for aggregations in MongoDB. The standard queries consume a completely different (and far faster) code path plus they ought to always be employed for real-time procedures. MapReduce is certainly not meant for real-time, it's more for batch jobs.

Technically, you can write all of your queries using MapReduce, but that might be both painful and slow.