Skin يا Themeفرقی نميکنه. تو برنامه های وب از هردو نام برده میشه و تو ويندوز بیشتر Skin.
در مورد ايجادش هم باید بگم يکسری ابزارهایی هست که من میگردم اسامی چندتاشو واست پيدا ميکنم که میتونی باهاش skin هایی ایجاد کنی. البته من خودم به شخصه چون با کامپوننت های DevExpress و Telerik و SyncFusion و ... کار ميکنم. از skin های اون ها استفاده میکنم که بسیار هم خوب هستن.
دليلش؟؟؟ اگه منظورت اینه که چرا استفاده میکنن ، باید بگم برنامه باید User Friendly باشه. محیط خشک و بی روح برنامه باعث میشه کاربر میل و رغبتش رو واسه کار کردن با برنامه از دست بده. البته اين زيبایی باید معقول یاشه و همزمان قدرت برنامه به خاطر رسیدن به ظاهر از دست نره یا performance پايين نياد. در حد تعادل، بودنش مزیت است و بیشتر از اون عیب و يک موضوع ديگه اينکه ظاهر رو باید متناسب با جایی طراحی کنی که نرم افزار برای آنجاست. برای يک سناد مثلا نظامی نباسد از Skin ها خيلی استفاده کرد. اميدوارم توضيحم مفيد بوده باشه.