Which is to be used at which time.
In the documentation on http://api.jquery.com/:
For ajaxStop() it says:
Description: Register a h
In general, you want to use ajaxComplete. This is because ajaxStop will only be triggered when there are no more ajax requests still waiting to come back. This may not seem different when you're sending one ajax request at a time, but imagine that the network happened to slow down after you send request A and, when request B is sent 5 seconds later it comes back earlier than request A... then ajaxStop will only be triggered once after request A returns while ajaxComplete will fire both times.
The situation where you'd use ajaxStop is when you send multiple ajax requests in one go... e.g. to submit a series of 3 forms... and want to be notified when all 3 complete successfully. Of course, you can achieve the same functionality with a counter within ajaxComplete
However, from the sounds of your question... you'd like to parse data from each ajax response... typically this would be done in the ajax success callback, e.g.
$.ajax({
url: "blah",
data: "blah",
success: function (data) { /* Code in here */ }
});