Web API is a framework for building web services that leverage all aspects of HTTP - ASP.NET MVC is a framework for building websites.
You could use the two together; for example, you could use ASP.NET MVC to generate HTML "templates" server side and then use JavaScript on the client side to invoke your Web API resources to get and modify the data and "plug it in" to your HTML templates. Check out @Lars' answer for more info on that particular scenario and the JavaScript frameworks that make that easier. This technique is mostly used for creating more fluid user experiences over traditional websites.
A big reason to choose Web API instead of putting everything in an ASP.NET MVC website is if you ever expanded beyond a single website to multiple types of clients (e.g., smartphones, Mac / Windows applications, etc.). Since ASP.NET MVC is really geared for websites / generating HTML, whereas native clients tend to prefer simple web requests and rendering the UI client-side, a simpler approach would be to do all of your data manipulation behind a Web API and have all of your UIs consume it.
There's a ton more to say about Web API and when you'd choose it over (or in concert with) ASP.NET MVC. I actually think the more interesting tradeoffs come when you compare it to SOAP-based service stacks like WCF.