Banuiesc ca te referi la JavaScript, nu la limbajul Java. Din experienta as spune ca nu prea poti sa le separi pentru ca in sine intre ele exista o interdependenta. Webdesignerii trebuie sa faca uz de toate trei atunci cand dezvolta un site. De obicei layout-ul e facut de un designer grafic, iar implementarea de un dezvoltator/programator web care in cele mai multe cazuri trebuie sa cunoasca foarte bine acest trio. Cei mai cautati sunt cei care stiu sa faca si un layout grafic care arata bine si sa-l si transforme in pagina web functionala.
HTML e de baza pentru amandoua, iar HTML e aplicarea practica a XHTML(XHTML e standardu), deci sunt cam acelasi lucru.
CSS nu e limbaj(e stil pentru elemente HTML).
JavaScript e limbaj de scripting pentru HTML, foloseste la dinamicizarea elementelor(animatii, efecte, etc...).
Pentru mai multe detalii da-mi un mesaj