Sometimes a person can go to school, college and then university. They study for years in a particular field to enter into a certain profession. But it doesn't matter how much preparation you do, you never really learn until you start practicing in that profession. And suddenly all that study was almost a waste, it didn't prepare you even half as much as you needed, to be fully equipped to deal with what you have to deal with on the job.
I guess marriage is like this. You may feel like you know how to be the perfect partner, you may go to all the marriage talks that will equip you with an understanding of marriage, what kind of person to marry, how to deal with obstacles, how to deal with the mother-in-law and family members, you may have even walked away with a certificate stating that you attended such and such marriage course. You have read all the books so your now convinced that you are now fully prepared for whatever "Happily ever after" has to throw at you. And then you get married. And your like "Hang on, it wasn't quite like this in the book, or I don't think he was meant to quite react like that.." and your at square one again.
No one is really taught how to have a successful marriage until they are actually married and put under the turmoils of that marriage, only to come out from those turmoils - more educated, more learned, more prepared. We only know how marriage should be through seeing how other people are with each other, our parents, our siblings, our friends, however we don't really see what happens behind closed doors, the arguments and such, and our parents have spent years building such a close relationship like that, you can't expect your marriage to be as strong as theirs at the initial stages. Attending courses and reading books can only really give you an insight, but the real teacher is marriage itself.
We learn how to become a better spouse to our partner through every obstacle, every misunderstanding, every argument, every silent treatment, we learn the likes and dislikes of our partner, we learn what makes them tick, we learn how to make them happy and content, we learn how to deal with family members, that your mother-in-law wants a phone call every day, that your father-in-law likes his coffee strong, that your brother/sister-in-laws are total nut cases, but you learn to love them anyway - you can't possibly know any of these things before you have even met your spouse, and its this, which makes us so under equipped for a successful marriage. And to those who criticise you for being a bad spouse, say to them that no one taught you how to be a good one, you are still learning, tell them to be patient with you, for you have an urge to make your partner happy, its just that you may not always know the means of doing so, you are so to speak, "learning on the job".
Its only with persistence and perseverance, with being firm with every lesson that comes to teach you and not so weak as to run away and give up when you think you don't have the answer, believe that the answer will come to you, so long as you are sincere, and once you know what you didn't know then, you are on your way to a successful marriage inshallah.