ASP.NET MVC is approx. 3 years old product and to support the features of the current ASP.NET Web API in an elegant way, lots of breaking changes would occur in ASP.NET MVC. This is just one of the reasons. You might also see this one as another impl. detail but it is the brutal truth.
It's pretty impressive to see people who have no idea about the technology they are talking about. ASP.NET Web API doesn't force REST at all! Go learn what that FX does in the first place before leaving comments like this.
Two of the main reasons are Display Modes and TAP support.
Also, you don't need ASP.NET MVC 4 to use ASP.NET Web API. Just install Microsoft.AspNet.WebApi package into your existing ASP.NET MVC 3 project, you will be good to go. Just be careful for the order of routes. Both ASP.NET MVC and Web API routes collected under the same collection and a request may go into another pipeline rather than intended one if routes aren't set up properly.