I often splitt my code in many different *.h Files. Many functions and other parts of the code I write in "myFunctions.h" and include this file in the main Arduino code. Its mainly to take an overview.
I saw very often, that the .h File is only used for declaration and is combined with a *.cpp file.
But where is exactly the disadvantage in the Arduino environment, when I'm using *.h-Files for coding?
If you put code in there you can’t include this .h multiple times in multiple files because that would lead to multiple definition of the same things at link time. That’s why you usually declare things in the header (.h) file and then provide the definition in the .cpp
If you include it only once then it’s just really "text injection" and sure you can do that.
more practical reason is compilation time, if you don’t need to recompile headers because the code you changed is in .cpp file, it will be much quicker, especially on a big project
Yes, that’s another benefit (I assume you mean not recompile files (although if there is code it can only be one) where you included the header if you touched the implementation but did not modify the declaration).
If you have a .h file that contains functions and you use it only in your main .ino file you might as well change the extension to .ino so you don't have to explicitly #include it.