Well, let's see. Beginner level classes are generally going to teach you basic stuff -- posture, frame, how to dance with another person, basic technique, and simple figures. A lot of times these classes are kind of meant to give students enough knowledge for them to go out social dancing and have fun. Exactly what each teacher does varies, of course, but they should go over the figures until it looks like most of the class has basically understood it. Putting together a routine is just lining up the figures you know in a particular combination. Granted, it can be difficult to learn both the figures and the routine at the same time, but the routine is probably there to help you remember the figures, too. It gives you a way to practice what you know while dancing around the floor instead of just in place or in lines or however you typically practice in class.
There are probably videos that will show you basic moves/figures and how to do them. I have no experience with them though. I know books a bit better and those are generally a little tricky to follow unless you've already been taught the moves. You should be able to learn figures in group classes. I don't think it's a very good idea to spend money on private lessons in order to learn figures. Privates should be used on things like improving your technique so that you can dance what you do know better.
Your third challenge is pretty common among newcomers -- when you're all dancing together it can be hard to get things right because you're all learning at the same time. If you can find a partner to practice with, I'm sure that would help. But if you want to do social dancing, beware of dancing with your partner so much that you start compensating for each other's mistakes and get into bad habits that will be hard to break. This is one reason teachers normally make people change partners in group classes -- to get some practice at leading and following. You should try social dancing when you feel you're ready for it. There you'll be able to dance with people of all levels and dancing with the more advanced dancers will give you a good idea of how leads should feel and they will hopefully be able to make things feel and work a bit better for you.
Something of an aside: if you have a college or university near you, see if they have a ballroom dancing club. If they do, try hooking up with them. You'll meet lots of students in the, oh, 18-30 year old range (unless you don't have many grad students or alumni hanging around, then say 18-25). That may help you find a partner with similar dancing goals and it may be nice just to have a group of people closer to your own age to dance with.
For priavtes tip number 1 is get a partner to come with you -- you can then split the cost and that can save you a lot of money in the long run. If you're a student, ask if a discount is available. Teachers know students are typically poor and around here at least, they lower their rates for them. Taking from a male or female, eventually you'll probably want both. From what you've said, if the male teacher explains things more clearly for you, I'd say start with him. A female teacher may be able to correct you better, but you'll want to have all the basics down to get those fixes. If the man can teach you those basics better, start with him. As you progress you should get a feel for what you need to learn and who's better suited to teach it to you. For example, you're going to want to copy a woman's free arm motions in latin, not the man's. I wouldn't worry too much about it in the very beginning, but as you improve this sort of thing will be a concern. And you're right, if you want to compete you might be able to do pro/am with the male teacher.
I'm not sure how well that covered everything, but I hope it's of some help. Hopefully others will provide comments, too. Good luck. :)