I have a certain geometry. See image. I need to create 3 creases/cavities on the surface. I tried 2 methods, see images. One is Knife Projecting mesh edges onto the surface, and then fiddling around with it. The other is using Difference Boolean operation (including cleaning up triangles afterwards). Both methods give terrible results, plenty of artefacts. What is a clean way to achieve the result? Or do I have to unwrap the mesh and create a bump map with these creases?
Artifacts come from shading issues.
First thing to check is to have something that is able to control which faces are shaded flat or smooth, for example the Edge Split modifier:
Better results could be achieved by controlling manually what edges will be splitted. In thdepicted case, the border of the subtracted suzanne is one edge that should appair hard. Select it and Mark as Sharp Edge will help the modifier in recognizing it.
Now the only artifacts that should be present are caused by the tris faces that surrond the border. Shading of tris doesn't look as good as shading from quads, expecially where there are a lot of them who are diverging from a common vertex and plenty of tiny faces along the border (a situation that always occurs whith boolean operations) and also after triangulating N-Gons made of non evenly spaced vertex along the perimeter.
Long, thin, tris (an in minor part quads too) don't have a good shading behaviour
To avoid such artifacts, you should work on the shape of the faces and the flows of edgeloops. You must aim to obtain what is called a "clean topology": the mesh should be composed by evenly-spaced mostly-quad faces.
It requires hard work, lot of paticience, probably you'll have to rebuild most of the mesh, but it is the only whay that guarantee a perfect shading.
Above you can see some guidelines of a possible retopology for the depicted case.