Entity Framework - это ORM. Предположим, вы создаете веб-приложение, которое функционирует само по себе, имеет пользовательский интерфейс и сохраняет данные в БД. В простом сценарии, подобном этому, нет смысла пытаться усложнить ситуацию, добавив API в смесь, поэтому ваш ORM более чем достаточен.
Теперь представьте, что у вас есть 2 приложения, одно веб-приложение, а также мобильное приложение. Они оба принимают данные, и им обоим необходимо сохранить эти данные в базе данных.
Как этого добиться, не дублируя работу? Это когда API становится необходимым. Вы создаете API, скрываете за ним операции базы данных, и теперь и ваше веб-приложение, и мобильное устройство могут общаться с одним общим слоем и использовать одни и те же данные. Это очень распространенный сценарий, когда нескольким приложениям необходимо совместно использовать одни и те же данные.
Конечно, существуют и другие варианты использования, иногда весь бизнес сосредоточен на предоставлении данных клиентам и не хочет слишком беспокоиться о том, как они собираются это сделать. Они будут предоставлять API, документировать стандарты, защищать свои API и позволять клиентам использовать его по мере необходимости.