Try looking at it this way: A dotNetNuke skin is an .ascx file.
This ascx file is generated by the parsing engine based on the html file, and the .xml file is like an instruction manual for the skin parsing engine. You can design a skin in html and css, and use the .xml file to tell the parsing engine which classes and other parameters to use. When you upload and parse the zip file, dnn meshes it all together into an .ascx file with the proper paths to your images, the correct css classes assigned and your particular finishing touches added, like "Join Now!" instead of "Register". Once this is done, DNN only uses the ascx and css - it's all done with the html and xml files, and they could be deleted if you wanted to.
Now, to make further changes to the skin you have a choice: you can edit the ascx directly and see results instantly by refreshing the browser, or you can edit the html and xml files and then hit the "Parse Skin" link under Admin -> Skins.
For now, I'd suggest installing Jon's skin package and examining the resulting ascx file. This will probably show you what to do with your skin.
Good luck, and I hope this didn't go too long.