I've been doing some retopology, but snap and shrinkwrap won't keep the retopologised mesh above the surface of the original mesh. Why is this and how can I fix it?
The Shrinkwrap Modifier can only move vertices to match the target object. If there aren't many vertices in a particular area, that area will not match the target object as well as places where there are more vertices.
A simple surface will require less vertices as there are less details to match, whereas a more detailed surface (or areas of higher detail) will need more vertices.
Patches of the original object showing through are indicative of not having enough geometry, or not having placed geometry where it's needed.
By overlaying your images we can see that the places that are showing through are where some of the larger faces are. You need to either add more geometry into these areas (a guide of where you might add an edge loop is marked in red) or move edge loops that are near those areas, closer together so faces are smaller: