Well, I think logic should be the gatekeeper. There should be requirements you have for someone to be your spouse. If you love someone but they don't fit the requirements, you don't marry them. Matter of fact, when you find out they don't fit you shouldn't waste their time dating and such. Because if you do, you are likely to "fall in love" and be tempted to ignore every sensible thing you chose when you weren't blinded by passion. Love is not a finite resource, move on, love someone else.
However, one should not marry just on the logic. You don't just say this person fits the requirements, let's get married. That should wait untll and unless you love them.
A good match will have both. Any compromise is likely to end in disappointment.
Not to say the person should be required to be perfect. If that's your standard just give up now and save everyone the heartache.
If nothing else, sitting down and logically thinking through your requirements is going to tell a lot about you.
If your requirements are financial, you can marry a bank.
If your requirements concern a house, just marry a house.
If your requirements are all sex, just marry a prostitute.
If you want someone who is completely loyal, always happy to see you, loves spending time with you, and tries to please you even if he doesn't always understand how, get a dog.
Marv