I don't think it's complicated, even for a beginner, to understand how to generate them.
Here are the reasons why I don't want to distribute the final projects/makefiles:
1. The projects/makefiles are ugly, but there are also a full hierarchy of CMake specific files that come with them ; it becomes really ugly to distribute, and unnecessary.
2. CMake generates a cache of the paths that it detects, and these paths are absolute; so if I distribute my generated projects/makefiles, it's simply not going to work.
3. There are so many ways to generate build files for a given compiler with CMake, I can't distribute one that makes everybody happy. For example, to build with Visual Studio I can generate VC++ projects or nmake makefiles. Some people will prefer the former, and some others will prefer the latter. The build tree can be generated inside the source tree, or outside. Again, some will like and some won't. You can also setup the install path when you create makefiles/projects, for the "install" rule. You can also choose or not to compile the doc, the examples, etc...
So I prefer to leave users with the huge flexibility of CMake, and customize their SFML build the way they like, with the cost of executing a small command to generate the build files.