I see 2 skills that essentially make a good website and this is assuming you’re referring to creating your own theme and making it attractive.
Coding and Design
1. Coding. A good website has good clean code. Take a look at some drag and drop site builders for example and see the code that gets generated. It’s wrapped in 4 parent elements just to see a child element or simple text.
How good are you at PHP? WordPress is built on PHP and writing messy code can lead to your WordPress theme using too many unnecessary resources or just adding in so much functionality to it, that the theme is too bloated.
2. Design. So you might be a good coder but how good is your design? Say for example you want to get a demo site you built running to showcase it, but your colors and images are all over the place.
This can definitely make the template unattractive. I mean, you want to show it off. Colors and images are a big factor in it. For example when showcasing a corporate themed website, think of what color screams “big corporate”. The type of corporate that you picture in a tall glass building wearing suits. I, myself think of like a bright sky blue. Yellow might fit, but I feel it’s more for like ..a small construction business. People might have different opinions on it.