Con calma ....

0 oppure 0px e` la stessa cosa: infatti nei CSS e` sempre obbligatorio mettere l'unita` di misura, tranne quando la misura e` 0 (zero) [0 e` sempre lo stesso qualunque sia l'unita` di misura].


html e body sono due oggetti distinti nei browser standard; sono coincidenti nei browser IE (modo retrocompatibile).
Di conseguenza
html{margin:150px; padding:100px;}
anche se e` corretto dal punto di vista sintattico e semantico, potrebbe non aver senso in qualche browser: probabilmente non conviene usarlo.
Tanto piu` che lo stesso effetto si puo` ottenere con un contenitore (tipicamente chiamato wrapper) che racchiude tutto il sito e non coincide con il body.

Invece quello che si puo` consigliare e` inserire sempre:
html, body { margin:0; padding:0; width:100%; font-size:100% }

che vuol dire:
1. far coincidere gli oggetti html e body con la finestra del browser in larghezza;
2. lasciare l'altezza con scorrimento automatico;
3. usare le dimensioni dei caratteri impostati nel browser dell'utente

[naturalmente questo e` importante per chi inizia, chi ha un po' di pratica puo` cambiare qualcosa]