There are a couple of reasons.. the main reason is probably because you've been friends for so long and she thinks that a relationship would change that. Face it, if you guys break up you're not ever going to be able to be friends like you are now. I'd recommend staying friends rather than pressuring her or hinting at her that you want a relationship. If you actually stop acting like you like her, she might get confused and realize that she does want a relationship, but if she doesn't, I'd say don't ruin the friendship no matter how much you like her. She probably has a reason for not dating you so just respect her decision and see what happens in time.
Your not attractive,your too nice,you have bad breath,body odor,crooked teeth?who knows. If your good friends with her that why, your in the friends zone and she sees you as to safe less of a man really. It stings I know. but when girls know they can have you at anytime they don't want you,unless they have no other options.
I think that the whole friend thing is over rated cz if a girl is really attracted to she will let you know somehow (friends or not) ... My opinion is that she is not attracted to you in that way so try to be a little more flirty and confident about yourself (she obviously is comfortable around you since you are friends so I'm sure that she sees some good points in you) show her what she is missing by not dating YOU.