Albert Einstein said "“Men marry women with the hope they will never change. Women marry men with the hope they will change. Invariably they are both disappointed.” :)
They also say that a woman should marry a man who loves her more than she loves him.
I'd say marry only for love - either the instant spark that sets your soul on fire kind or the slowly growing flame kind that keeps you warm inside kind. But marry ONLY when you are both in love.
No one - man or woman- should marry someone they don't love. Marriage is a mature decision and mature love is not just about the butterflies in the stomach or the gifts and grand displays of affection or raging hormones. Mature love is about mutual respect, patience, seeing a better person in your partner, belief in their character and hence faith that together you can and will weather all storms.
So if someone you don't love loves you and wants to marry you, tell them you need time and try to allow yourself to love them.
Of course, you can't force yourself to love someone but, as Rumi says, you can and must seek and remove all barriers within yourself that you have built against love. Only then will you make the right decision and only then will you be at peace with it.
Money: Some people marry who they don't love for money and comfort.
Maturity: My friend married a man who she did not love. She did this on the advice of her mother.
I am a 35 year old woman. When I was much younger, I was in a similar situation. I was in a relationship with an amazing, wonderful man who wanted me to marry him. I enjoyed being with him, but I did not feel "in love." I debated this very question for a long time -- would the love grow if I committed -- but ultimately decided to leave him, to hold out for that "true love" feeling.
But that's my 2 cents, from someone who faced a similar situation and then picked a side.
If I had the opportunity to marry him now, I absolutely would.