One, never, ever say you need a raise because money is tight at your house. This gets you an eye roll and no raise. Your boss isn't responsible for your financial choices, your spouse's salary nor for the number of children or credit cards you may have. I realize this is important to you, but bosses really hate that argument.
Two, never, ever say you need a raise because your under qualified co-worker makes more than you. This may be true (and family businesses that have the habit of hiring "friends" tend toward this irresponsible behavior), but it will make your boss shut down. Instead of listening to why you deserve a higher salary, he's forced to justify why he's paying the slacker what he is.
Here is another bitter reality: many employers feel like they can pay their employees squat because the economy is so terrible no one can find another job. This is false, false, false. Sure, it's more difficult to find another job, but people do it all the time. Even if they can't find a new job now, it doesn't mean that things won't improve later, and when they do, your underpaid stars will be the first ones out the door.
If you are underpaid (and I'll assume you are, for this exercise), you need to present evidence of this to your boss. This can come in terms of your qualifications, what you have done that is above and beyond your original job description, and competitor's salaries. Focus on what you have done to make this company a better place. And as long as you're asking, ask for a new title that reflects what you actually do. (Come up with it yourself and present it.) Some bosses get stuck on the title. ("I'm paying you what an office manager should make," instead of "Gee, you do all the office manager tasks plus X, Y, and Z.")
Since you love this job, you undoubtedly have a good relationship with your boss. Present your arguments for why you deserve an increase. If your boss responds with a "no," or "let's see how things go this quarter," or anything that isn't a direct, yes, then you say the following, nicely. "I really love this job, but I am underpaid. What do I need to do in order to get the raise I deserve?"
And then you shut up. Stop justifying. Stop begging. Sit and wait. There may be some uncomfortable silence. Don't fill it in. Let your boss respond.
Once he gives you his response, you need to evaluate it. If it's positive with an immediate increase, great. If it's tentatively positive (for instance, "Well, if we can bring our revenues up by to $X in May, then we'll talk again in June."), then you thank him for his time, go back to your desk and write up an e-mail that documents your conversation, including the tentative statement and e-mail it to him. You want proof this conversation occurred. Make a point to follow up in June.
But, you also need to keep in mind that he may be putting you off. If that's the case, or if he flat out says, "No, it's not possible," you need to decide if you love this job so much you are willing to keep working for the same low salary. Having a job that you love is worth something. What is extremely important is that you make the decision, and not just let it be made for you.
If you decide that this job is not worth the low salary, go looking for a new one, and when you find one, take it. If you decide that it is worth it, stop worrying about the new person who makes more than you do. It stinks, it's lousy, it's unfair, and it's unlikely to change.
And keep in mind that just because someone isn't familiar with your particular line of business, it doesn't mean hiring her was a bad idea. I have had to train my boss on how our company did things, and our company systems. It doesn't mean she wasn't qualified to be my boss, it means she knew different things than I did. Give your new co-worker the benefit of the doubt. It will make your life less stressful.