- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
One term which applies is Separation of Concerns -- the idea that parts of a program serving different purposes should be separated into pieces which can be designed, tested, and debugged separately, possibly by different people.
It's hard to say. I think it depends on the context in which the technologies are applied, e.g. They could be used in a MVC pattern.
Really, they are separate technologies with different purposes. Together they provide structure, function and aesthetics to data across the web.
This particular set - with Flash optionally thrown in - is generally called browser-side or client-side (although the latter can be used in different contexts too).
In case you add dynamically generated data from the server - static HTML, CSS, JS and dynamic data in JSON or XML - it's called AJAX.