Both 日本 and 料理 are nouns but why aren't they concatenated with の? I think it should be written as 日本の料理 rather than 日本料理.
I think the difference is somehow similar to that between ice cream and iced cream, or popcorn and popped corn.
When you combine two nouns directly, it becomes one fixed idea. 日本料理 is the name of traditionally recognized Japanese local cuisine, in the same way French cuisine, Chinese cuisine or Turkish cuisine are. It includes sushi, soba, tempura etc.
日本の料理 is simply "cooking in/from/of/etc. Japan". It could tell similar notion to 日本料理, but also could just mean "meal you ate in Japan".
Noun+noun compound words like 日本料理 are quite common in Japanese and do not require の to concatenate.