How do you give the content of a node a margin/padding without using html within the node?
it varies per whatever theme you use. it's typically something like div.node or div.node div.content as an example. tools like Firebug and Chrome developer tools can show you what classes a piece of content has in your HTML page. Using DisplaySuite for example you could provide additional classe(s) to any piece of content within view_mode -- but the basic markup exists per theme to target a nodes output on the screen.

It not only varies per whatever theme your using, but if your theme is HTML5 vs HTML4 (why in this day in age, i dunno) it may be article.node as a CSS selector because article is a new HTML5 element type, vs say a plain old div.node in older versions of HTML.