Being an amazing web designer comes naturally to some people - but most people have to work at it. Really hard.
Whilst I really like making new things I find it helpful to have a set of guidelines available to refer to when something doesn't look quite right.
Line Height - Line spacing should be set to at least 1.3, around 1.5 is generally good. Don't go too high or text becomes hard to read. CSS Line Height.
Line length - too many characters on a line is hard to follow. Aim for 45β90 characters or 2β3 alphabets. More on line length
Colour - keep colours simple. Start with black, white, and 1 key colour. Add more as you need them. Too many colours is confusing. Web Developers guide to colour.
Below are a few tips to help when a design isn't going as you had hoped.
Take a break - take some time off from the project. It's hard to see things objectively when you work closely with something, so the more time you can take away from it, the more clearly you will see the flaws when you return.
Clear you head - go for a walk, get some sleep, watch a film. Anything that will make you forget about the project and think of something else for a while.
Get a second opinion - find someone you can trust to give you honest, constructive feedback. They don't have to be a designer - but it helps if they know about the thing you're designing (ie how to use a website π).
Start from scratch - sometimes you just have to start again. That doesn't mean you have wasted time though. Often through creating one design you solve a lot of problems, and so your second design can be completed more quickly.
Practice, Practice, Practice
The more design you do, the better you will get, however I find having a set of guidelines can help re-align me when things go astray.