it takes the file named someFile and copies it completely into place at that location.
That's more or less it. It's just an easy method of housekeeping. Put into header files anything you think you might want to use a lot and would like a nice easy way to have pasted wholesale into your cpp files.
It might also be worth mentioning that when you get into making classes, it's generally accepted to declare your class (tell the compiler what it looks like) in a header file, and then define your class (tell the compiler what it does) in a cpp file. Usually the files and the classes have the same name.
Seriously, that's all there is. A header file is just C++ code, like your cpp files. Its common to stick declarations in there because that way you can include them everywhere without the compiler complaining about redefining symbols, but if you're looking for a tutorial on header files I've got this bridge I'm selling...