جواب سوال 1و2: همونطور که گفته شد iis یه وب سروره، سایت های مبتنی بر net. باید بر روی این وب سرور اجرا شن. visual studio هم یه محیطی رو فراهم کرده که شما وبسایتی رو که طراحی می کنید به جای اینکه ببرید روی iis واقعی یه سرور و یا روی iis خودتون، به صورت محلی اجرا کنید. همون لحظه روی سرور مجازی محلی خودش (Visual Studio) بتونید تست کنید و طراحی را بهتر کنید و الخ. اینکه می گید چه فایده ای داره به خاطر اینه که شما سایت رو بردید روی iis خودتون، خب معلومه که این برای شما هیچ سودی نداره و کار همون visual studio رو می کنه، فرضا اگر طراحی سایت شما کامل شد و خواستید این رو روی نت بذارید باید یه سرور ویندوری اجاره کنید و سایت رو بذارید روی iis ویندوز سرور اجاره شده تا رو اینترنت بالا بیاد.
جواب سوال 3: نه لزوما، من خودم تا حالا از publish استفاده نکردم ولی تنظیمات مربوط به App pool، Data base و... روی دستی انجام دادم (پس از کپی فایل ها)، برای یادگیری روش publish به اینجا مراجعه کنید.
جواب سوال 4: کلا یه web app با یه website از لحاظ معماری نرم افزار تفاوت هایی داره. خلاصه اش اینه که یه web app یه نرم افزاره که روی نت اجرا می شه و یه سایت مجموعه ای از صفحات، عکس ها و...، بگذارید این رو هم از خودم اضافه کنم یه web app بیش تر در راستای ایجاد نرم افزارهای service oriented هست ولی وبسایت هنوز کمی سنتی است. در مورد تفاوت های دقیق به اینجا مراجعه کنید، برای یادگیری شیوه ی سپردن یه web app به iis هم به اینجا.