I understand that ASP.NET Core is a modular framework which unites technologies like ASP.NET MVC and Web API into a single programming model.
But one of the features
As I can see your question has two part. First part is more technical which was well explained on other answers I think, so let me try to explain second part which is reason behind new .net core framework.
Most of web application runs in Linux and most of website is build with open source languages such as php, python, ruby. Also you will notice some most popular CMS application like WordPress built with php which is more preferable to host in Linux obviously. In other hand Microsoft is well known for commercial paid software and closed source ofcourse. In technology world Microsoft was missing trust from open source lovers due to its own closed source type of design. So finally they also wants to take market share from open source community. And there was no other way then rebuild .net core under open source type of design. Also beside all of these Microsoft trying to show love for open source community to build trust as a part of that they has acquired github which is most popular tool for open source developer community. So basically Microsoft trying extend its business being involved in open source software world and .net core is most important to attract developers. This is the key reason I think behind the core framework.