We have checked the venue results in two cases using php foursquare api,
Case 1: Endpoints 'venues/search'
$params = array("ll"=>"34.149087500000000000,77.538450700000000000","intent"=>"browse", "radius"=>"99000","limit"=>"100");
$response = $foursquare->GetPrivate("venues/search",$params);
$recents = json_decode($response);
echo "<pre>";print_r($recents);echo "</pre>";
Result:
Venue count is 50.
Case 2: Endpoints 'venues/explore'
$params = array("ll"=>"34.149087500000000000,77.538450700000000000","radius"=>"99000","offset"=>"0","limit"=>"100");
$response = $foursquare->GetPrivate("venues/explore",$params);
$recents = json_decode($response);
echo "<pre>";print_r($recents);echo "</pre>";
Result: Venue count is 4.
For the above two case, We have used the same latitude and longitude in params. 50 venues are returning when we use the endpoints 'Venues/Search' but only 4 venues are returning when we use the endpoints 'Venues/Explore'. Why the venues are mismatching by using the endpoints 'Venues/Explore'.
from my personal experience with trying to define these endpoints someone from the Foursquare API team explained it like so:
The explore mode is more of a "what are some interesting places around me right now?" whereas search is better for something like "i know there's a coffeeshop nearby somewhere, let me find it".
I hope that give you a little further insight.
--EDIT--
Also further to reading the api, without specifying a section for the explore endpoint the default fallback query is 'coffee shop', while search will just return you up to 50 results from all venues in your specified radius.