Ну смотри, кестрел это по факту тот веб сервер, на котором вообще построен весь
asp.net core
Самый базовый, низкоуровневый
Он служит для того чтобы в принципе к приложению можно было достучаться
IIS/nginx это больше для прод ситуаций, когда у тебя на одном порту можно слушать много (под)доменов, т.е. несколько приложений например на порту 443