Q:

ajax calls to controllers. How to indicate success, complete, and error

If I make an ajax call to a controller.... what needs to happen in the controller so that the ajax call then calls
1) complete:
2) success:
3) error:
4) any other callbacks that exist.  
For ex. I have this ajax call. 
 $.ajax({
         url: "/ContactPartial/ContactUs",
         type: "POST",
         data: JSON.stringify(data),
         dataType: 'json',
         contentType: "application/json; charset=utf-8",
         complete: function () {  },
         success: function () {  },
         error: function () {  }
   });

In other words, what can I do inside /ContactPartial/ContactUs to control which of the 3 (complete,success,error) gets called after the controller code executes.
Also, how is this related to related to return Json(new {some: data});

A:

These three callbacks are related to the status of the Ajax call.  These are called depending on success of the call.  For complete details refer to the documentation
So, if the server responds with a success (200), then both the Success and the Complete handlers would be called.  In the complete handler, you might put some code to dismiss a modal window (regardless of success or error), and in the success function, you might put code to let the user know the call was successful, reload a grid view, etc.  Also, keep in mind that the callback functions don't have to be anonymous functions, they can be defined functions that are shared among several Ajax calls.
EDIT:
If you are wanting to force the server to generate an error, take a look at:
The HttpResponse class, specifically the StatusCode property
This SO post explains more too (generating a 401 error)

