ASP.NET Core WebAPI jest specjalnie zaprojektowany do tworzenia usług zgodnych z REST.
Aplikacja ASP.NET Core służy do tworzenia aplikacji internetowych, które zwracają zarówno widoki, jak i dane (jest to odpowiednik Asp.NET MVC ze standardowego Frameworka).
Wybór zależy tak naprawdę od rodzaju WebApp, z którego będziesz korzystać. Jeśli planujesz korzystać z jakiegoś frameworka SPA, nie potrzebujesz mechanizmów do generowania widoków po stronie serwera - WebAPI to świetny wybór, w przeciwnym razie wybierz Aplikację. Tutaj znajdziesz więcej szczegółów na temat różnic.
Ze względów bezpieczeństwa nie ma problemów z WebAPI. Zapewnia wiele mechanizmów zabezpieczających Twoje API i ograniczające dostęp do metod opartych na tożsamości użytkownika. Proszę spojrzeć na ten artykuł jako przykład.