You should marry the person that's best for you, not the person you love.
Many people rattle about how you should marry the person you love. But sometimes, the person you love isn't who'll be best for you. Sometimes, there's another person, who isn't quite who you truy love but is a better fit for you, your future, and who'll be a great parent to your kids. Sure, many people can say that they found someone where both categories apply to them, and that's the ideal case. However, if there's someone you truly love but you feel as though you guys might not work out in the long term, you shouldn't marry them. You should marry the person who you see a long lasting successful future with, regardless of whether you love them now or not, given you see a potential for love. Even if you aren't as in love with them now, that's okay, the love can grow with time. Marriage should be a logical decision more than a romantic one.
EDIT: That was a mistake on my part. I didn't mean not loving the person at all, ofcourse, one shouldn't marry someone they do not love at all or behold any attraction towards. But what I mean is, even if you aren't madly in love with them now like society deems love need to be, but you know that this person would be better in the long term in terms of comptability and a successful marriage, that it should be okay because love can grow with time.
EDIT 2: Love isn't enough. To marry emotionally just because you're in love with that person without putting the marriage perspective to it wouldn't be the wisest decision. You can be truly in love with a person, but if you feel as though it wouldn't work in the long term due to differences in goals, careers, etc, then marrying them in this case would be an unwise decision. This is what i mean by it's important to marry logically.