Well, here's a run-down of what may possibly be wrong with what you're doing and whom you are.(these are generalisations, but are based in personal experience and read anecdotal stories, and some science)
1 - You're looks are doing nothing for you
It's got to be said: Men are visual creatures. Doesn't matter if you're Mother Teressa, if you don't look good, you're unlikely to pull in the guys. Most young women can look perfectly acceptable if they follow a few easy pieces of advise:
Lose the excess weight. Really, do it. You'll thank me later. Cut the processed carbs out, do some exercise. You'll look better, feel better and you may meet a nice chap whilst you're at it.
Clear your skin up. Stop smoking, get meds for your acne, use moisturizer.
Improve your hygiene, including your oral hygiene. Smell nice, get your teeth straightened and whitened, shave your armpits, top lip and legs.
Wear feminine and figure flattering clothes. Go to a decent fashion store and ask an assistant for help. A male one is preferable.
If you're really unfortunate by having a real ugly face, then you'll just have to work on being a sweet feminine girl (talked about later)
2 - You're too shy
Especially if you actually like quiet nice guys, this is a major point. If you don't flirt, don't give -any- eye contact, don't smile at him or laugh at his jokes, you're going to be seen as someone who isn't interested.
So do the opposite of these no-no's. You don't have to say much to him, but just make it known you're interested in what he has to say.
3 - You're too bolshie/manly
You're aggressive. You have a reputation as a slut. You curse. You drink to excess. You're not wanted for long-term relationships.
Make the link. If a guy wants a friend with male characteristics, he'll make a male friend. If you want to be treated like a lady, you need to act like one - this isn't to say you need to be some naive wallflower. But basic manners, showing him some respect and some trust in his decisions/opinions, not bad mouthing him in public or when he isn't around, all go a long way
So there you have it. To summarise for you, if you want the guy, you need to look presentable, be sweet, be friendly and make him feel like a man. You can't go too wrong with those pointers.