When designing a skin for DNN, you are essentially creating a "master page" that dictates the overall layout of your website. This means that all pages on your site will have the same basic structure if using one skin.
If your homepage differs in layout from your content pages, you don't necessarily need to create two separate skins. Instead, you can create two different layouts within the same skin. The main difference will be in how the content is displayed in the middle section of each page. Your skin may consist of two HTML files that translate into two .ascx files when integrated into your portal during parsing (if building with HTML; otherwise, you would design two .ascx files directly).
The key lies in how you structure the ContentPane element within your layouts. The placement of the ContentPane will vary between the homepage and content pages. For instance, if your homepage features a rotating banner beneath the header and a full-width content section without sidebars, followed by a footer at the bottom, your ContentPane should occupy the full width of the midsection.
In contrast, your content pages might share the same header and footer but include sidebars on either side or both sides (even though they may not always be visible). In this case, you would position the ContentPane accordingly to accommodate the sidebars.
In essence, the process of laying out a DNN skin mirrors that of a traditional static site, with careful consideration given to the placement of content panes based on the desired content positioning.
If you're looking for more detailed guidance on skinning in DotNetNuke, I recommend watching some of Chris Hammond's videos on the subject. His tutorials cover everything from basic HTML skin creation with tokens to advanced techniques using .ascx files and registers.