Similarities
1) both inherits from ihhtphandler for the asyncrequest so basically apicontroller or mvc controller both are the wrapper around the web.http
Differences:
1) mvc controller is very heavy if you could go through its definition you can see how many interfaces and the base code it has used, web api is lighter controller and distinguish request by its passed parameters ( yes we can change it too!)
2) MVC controller has too many features like it return views, action result , javascript result etc but in web api has either JSON or XML
3) API is for implementing Restful(get, post,put, delete, options) services which can independently can hosted any where without the depending upon views, MVC controller cant support that as it tightly integrated with the views.