What is the point of an action returning ActionResult?
Since it is the base class, it allows you to return any of the ActionResult subclasses, such as ViewResult or JsonResult. I typically return ViewResult as the default, but override that behavior if I am dealing with Ajax to return a JsonResult object.
This allows me to add Ajax as a progressive enhancement and keep the application working without JavaScript and without the need for separate controller actions.