Does a PhD thesis have to be theoretical? I already asked a question in the past about the requirement to join a PhD program, but I am now wondering what makes a PhD thesis what it is. As seen on a lot of different websites and for example on this post, one of the goals of a research thesis is to contribute to human knowledge by researching and documenting said research.

My personal goal is to contribute to human knowledge, and I feel like some researches in computer science (from different offers and thesis I saw) don't create knowledge, but are rather focused on creating a product that could as well be developed by any company with a research and development field. Because of this, I have trouble visualizing if there is really a knowledge creation in those PhDs, as I feel like those are not in a "science" related field but rather in a technical field (even though it's in the name "computer science").

Just to be clear, I'm not in any case questioning the benefit those research made, I think I am misunderstanding something in what a PhD is, and want clarifications to make sure I'm joining a PhD program with the right state of mind.


Does a PhD thesis have to be theoretical ?
If not, what is the benefit of developing a technical product in a academic environment rather than in a private environment ? (for both the doctorate and the academic world)
While doctoral degrees in some specialized fields have a different designation, you can get a PhD in many non-scientific fields. English Literature or Philosophy to name just two. 

But even in those other fields, a dissertation is normally theoretical in some sense appropriate to that field. Many are more like mathematics, actually, extending a thread of thought, rather than gathering data and applying statistical methods or other tools. 

I question the premise that most CS dissertations are "product development" actually. None of them in my particular purview have been. All have contributed to knowledge, though that knowledge can often be commercialized in some way. 

Some CS research in the language area results in the development of a new language, of course, but that doesn't mean a commercially viable language. They are normally written to test out some ideas of semantics or implementation and so really do extend the range of human knowledge. 

But CS, in general, has been concerned for a long time with building things, so research that is closer to the "real world" is natural. But companies find it difficult to justify doing "pure research" that can't be turned into a revenue stream in a predictable way. That sort of thing is left to universities and to doctoral students. 

And, of course, there are many CS topics if that is your chosen field. You can be as theoretical as you want to be. Some subfields are nearly indistinguishable from mathematics.