I don't think people really "want" to use only cameras. If every researcher could afford the LiDARs they'd all put LiDARs on they robots for outdoor environment.
Cameras are pretty cheap and the only limit to range is the pixel/superpixel resolution that you can process in your algorithm/software.
Most researchers (including me) use structured light cameras (although they don't work outdoors, so we switch to RGB cameras on these sensors when the robot is outdoors). A solution to this light problem is that we also use stereo cameras (stereo vision/multi-view depth which is computationally expensive) for roughly determining depth, based on the processing capabilities of the controller/CPU. Another solution that I've yet to personally explore is to use multiple Kinects/Asus Xtions etc, where you get depth corroboration as well as multiple RGB cameras for outdoors.
LiDARs are typically very expensive (in the thousands of $$ for really good ones). Although this might change in the future with some companies coming out with $250 "LiDARs" like Sweep.
Also, LRF's/LiDARs have limited range and resolution (i.e., beyond a certain distance, they cannot resolve depth unambiguously and hence they return 0 values (I'm not sure specifically about LiDARs, but depth cameras have a maximum (above which) as well as minimum range (below which) they dont give you depth).
Hope this helps.