Da du dich auf Webentwicklung spezialisieren möchtest, rate ich dir ebenfalls zu PHP oder (Node)JS. Ist halt Mainstream. Python/Ruby kannst du dir ansehen wenn du selber besser weißt was genau du willst. 
Wofür genau kann man Javascript und NodeJS denn verwenden?
JS kannst du für "alles" verwenden. Theoretisch. Jedenfalls auf allem, auf dem du eine JS-Engine ans Laufen bringen kannst. Du kannst es klassisch clientseitig in Websites verwenden (sprich eingebettet in Websites). Oder im Backend via Node.js. Als Desktopanwendung mit Hilfe von Elektron. In Apps auf mobilen Geräten. Usw.
Gibt es irgendeinen Nachteil, auf PHP zu verzichten?
Weniger etabliert. Jobaussichten (derzeit) möglicherweise ... ich will nicht sagen schlechter, eher anders. Kann es aber nicht wirklich beurteilen. Außerdem ggf. geringere Audwahl an etablierten Frameworks und erst Recht in Sachen CMS. Agenturen setzen typischerweise auf PHP, weil es dafür eben die Anwendungen (Shopsysteme etc.) gibt. Hinzu kommt die Ungewissheit, wohin die Reise geht. Mich lässt ECMA Script 6 (vereinfacht gesagt die derzeit aktuelle JS-Version) immer noch ratlos zurück. Keine Ahnung ob ich mit JS jetzt klassenbasiert programmieren soll? Bei PHP ist eher Evolution statt Revolution angesagt. Wenn man PHP als schlecht ansieht ist das vielleicht nicht so großartig, aber man hat halt mehr Klarheit darüber wohin die Reise geht. Bei Node.js ist das nicht so klar.
dass du dir bei NodeJS einige Tränen der Verzweiflung ersparst als wenn du mit PHP arbeitest
Ja ein paar bestimmt. Dafür gibt es aber womöglich andere. Wenn man klassenbasiert arbeiten will, würde ich vermuten, ist PHP doch noch angenehmer. Methoden-Parameter typisieren zu können hat was für sich. Wichtig bei PHP ist, dass man nicht einfach anfängt es zu lernen, sondern direkt versucht, es "richtig" zu lernen. Erspart viele Tränen.
Kann mir jemand denn auch Bücher oder Internetseiten empfehlen für PHP, Javascript, HTML
Forum PHP: [Link: Registrierung erforderlich]
JS + HTML Referenz: [Link: Registrierung erforderlich]
Bei PHP vorsichtig sein, da findet man bei Google leider einiges altes & schlechtes. Es ist wichtig, dass man direkt versucht gutes & modernes PHP zu lernen. Sonst macht man es sich nur unnötig schwer.
Es beginnt mal damit, dass du eine einzige Programmiersprache lernen musst. NodeJS ist praktisch das gleiche Javascript, welches du auch im Frontend verwendest. Es gibt einige minimale Unterschiede, aber du musst dir dafür keine komplett neue Programmiersprache anlernen wie es bei PHP der Fall ist.
Das stimmt. JS wirst du früher oder später eh in irgend einem Umfang lernen um es in Websites im Frontend einzusetzen. Wenn du dann direkt auf JS + Node.js setzt benötigst du nur eine Programmiersprache (Node.js ist keine eigene Programmiersprache sondern ein(e Art) Framework für JS) statt JS und PHP lernen zu müssen. Andererseits, wenn du deinen Fokus stark aufs Backend legst musst du, wenn du dort auf PHP setzt, nur minimal JS fürs Frontend lernen.
Was auch wesentlich einfacher ist meiner Meinung nach, ist das Routing. Während du bei PHP entweder ein komplettes Framework verwenden musst um es halbwegs übersichtlich aufbauen zu können, musst du bei Node nur relativ wenige Zeilen schreiben, um verschiedene Routes verwenden zu können.
Nun ja nativ mag das so gelten aber... wenn man Node.js als JS-Framework betrachtet ist der Vergleich nicht fair. Dann müsste man PHP-seitig auch direkt ein Framework oder zumindest eine Routing-Komponente einsetzen dürfen, um nicht Äpfel mit Birnen zu vergleichen.