A few points to keep in mind:

Every design solves a problem

Stop thinking about the design in terms of "How do I make this pretty?" and start thinking about it in terms "How do I make this as easy to use as humanly possible?"

When you're making websites, this means that, in the broadest sense, you're solving a business problem.

A website exists to realize a business goal.

The users of a website also come with their own goal in mind—they might want to buy something, compare products, read up on a topic, etc.

It's your job as the designer to help the business by making sure that as many users as possible fulfill the business goal and to help the users navigate the website so that they can fulfill their own goal.

For example, you're designing an e-commerce store: The business goal here would be to sell the products. And the users' goal is to find exactly what they want to buy, as quickly as possible and check out, as quickly as possible.

A great part of the design process goes into figuring out the problem, building a profile of the user, thinking how to realize the business goal, etc.

The colours, fonts, layout, every design decision you make has to be dictated by the goal of the website.

It's repetition that makes things look pretty.

That's what consistency is about.

For example, font pairing. Fonts are paired based on similar traits, on repetition of details.

Here's a match: Farnham and Benton Sans.

According to this post here 2 these two fonts match because:

[...] the faces are alike in the squatness of their lowercase letters, which have distinctly short ascenders and descenders. [...] The lowercase letters of both are wide.

The repetition of certain traits makes these 2 fonts work well together. You can see them on a web page here 3.

Repetition brings harmony in a design. And harmony makes the design look beautiful.

But, as you can see, Farnham and Benton Sans also contrast—Farnham is a serif font and Benton is sans serif.

Why is there need for contrast? We're looking to introduce similarities in a design, right?

Well, yes, but too much repetition makes your designs dull and hard to use.

The cure is contrast.

Contrast helps the user find their way

It helps them distinguish different elements from one another. It helps them find the key elements like headings, navigation, buttons.

The more important the element, the more it should contrast with its surroundings.

Use repetition to make your designs consistent. Like others have said—2 fonts a limited color palette, etc.

Use contrast when you really need to set apart an element from the rest.

All that's nice to know, but... still doesn't help you design your next website, right?

Well, I have a solution for that, too.

Step 1 to becoming better at web design is to observe and absorb others' work. A lot of it. That's where "inspiration" comes from.

Look at a hundred designs that you like, analyze them and you'll start spotting patterns. Your brain will help you combine these patterns into your own design which will be a variation of all the similar designs that you saw. You don't need to create something "unique".

Summary: Next time you start designing for your side project

Go through a dozen similar websites/web apps and make quick sketches of their designs. Note what workflow they used. Why did they use it? Note what shapes, colors and fonts they used.

Then go through this process to create your own design:

Define the project. Immerse yourself into the project & get to know more about: 1.Its purpose, intended outcomes Its (future) users The intended experience for its users/visitors The branding behind the project Acquire the needed resources. Get your hands on (sample) content (borrow from similar sites) Give shape to the content Choose a typeface in which to typeset the content (pick one that fits the mood and message of the site) Choose font size for the body copy Generate a modular scale(a table of proportional harmonic dimensions) from the font size of the body copy (using Type Scale - A Visual Calculator) Sketch different layouts based on the project requirements Build the layout (in HTML&CSS) with the help of the modular scale: column width, line height, heading sizes, bottom margins, columns (if needed) Apply color according to the brand guideline

You can read more about each step from this process here.