fonts convey default vertical margins to paragraphs and headers, etc. It's often useful to set header v-margins to zero, otherwise their default margin-top can affect the topmost container and push it down from the top of the page.
Likewise, lists have default v-margins and default h-padding. Same "rule of resets" applies with them, too, especially in the case of a horizontal menu. Make sure the ul margin is set to zero if none is dictated by the design.
Using negative margins to "fix" mysterious gaps or spaces is usually a bad bandaid. Its better to find the cause of the gap and fix the source, otherwise the problem may appear in another location.