به نظر من مهم ترین مزیت Node.js اینکه آسونی کار باهاش هست ، از نصب و راه اندازی تا ایجاد یک وب سرور ساده رو میشه توی چند دقیقه انجام داد و اینکه برای طراحی وب اپ ها ، یکی بودن زبان برنامه نویسی سمت سرور و کاربر یک مزیت خیلی خوبی هست.
در مورد asynchronous بودن Node.js، الان خیلی زبان های دیگه هم این قابلیت رو دارن ، همین PHP یا Python، منتها تفاوتی که وجود داره اینکه ، Node.js (یا به طور دقیق تر Javascript ) کلا بر مبنای این معماری پیاده سازی شده ، من خودم اخیرا توی زبان پایتون از Asyncio برای برنامه نویسی asynchronous استفاده میکنم، گاهی اوقات یکسری مشکلاتی داره که آدم اذیت میکنه و دیباگ اش زمان بره ، یا اینکه هر کتابخانه ای رو نمیشه باهاش استفاده کرد ، باید اون کتابخونه بر مبنای coroutines باشه.
از نظر کارایی هم قابلیت Single Thread بود و asynchronous باعث میشه Node.js توی انجام کارهایی که وابسطه به IO هست، کارایی بالاتری نسبت به PHP (حنی با استفاده از ماشین مجازی مثل HHVM ) داشته باشه.
اکثر وب اپ ها (مخصوصا API سروها) بیشتر کارشون مربوط به IO هست، به همین دلیل Node.js انتخاب بهتری هست، اما اگر برنامه ای می نویسید ، نیازی به پردازش بالایی داشته باشه، Node.js گزینه مناسبی نیست (به خاطر اینکه نمیتونه از تمام توان پردازنده استفاده کنه)، البته گزینه های مثل Worker threads بهتون امکان استفاده از چند رشته رو میده ، اما کارایی اش مثل زبان های که کاملا بر این اساس هست نیست. (این رو هم بگم برای انجام کارهای با پردازش بالا PHP هم گزینه ی مناسبی نیست، استفاده از زبانی مثل Go پیشنهاد میشه)
در حال حاضر از دلیلی که شرکت ها میان زبان PHP رو انتخاب میکنن، یکی راحت بودن پیدان کردن نیروی کارش هست، (به خصوص تو ایران) و همین اینکه میزبانی سایت های PHP خیلی راحت تره برای افراد، کافیه یک هاست بخرن و اسکریپت رو اپلود کنن، نیازی نیست که سرور بخرن و کانفیگ اش کنن، به جز این موارد هیچ دلیل فنی وجود نداره کسی بخواهد PHP رو به جای هز زبان برنامه نویسی مدرنی که تو ۷-۶ سال اخیر معرفی شده انتخاب کنه.
اگر میخواهید برنامه نویسی به جاوا اسکریپت رو شروع کنید، پیشنهاد من اینکه از همین اول با Typescript شروع کنید ، Typescript از نوع داده پشتیبانی میکنه و کدهاش خوانایی بالاتری داره و کتابخانه های React هم الان به طور کامل پشتیبانی میکنن ازش، (Angular پیشفرض از Typescript استفاده میشه).