Seriously, you want horror stories, try talking to a contractor. It's amazing what some of these guys go through with their clients who can't understand why costs balloon when they are asked to "just move that wall a little to the left", or "hmm, that stain is a bit too dark; can't you just re-stain it a lighter color?"
I guess that one of the advantages of knowing contractors is that my husband and I had a good idea of what was ahead of us when we opted to build our custom home a few years ago. If you want it to be fun, here are my tips:
Find a good builder through the grapevine and then do more research by talking to former clients, but also to some of the subtrades and suppliers who will be working on your home. A reputable builder will be proud of his reputation and should be quite willing to furnish names; if a builder hedges, consider it a big red flag. Ask these people lots of questions, especially about how closely the builder adheres to timelines and to paying his subtrades.
Avoid any builder who wants substantial pre-payments before the work is actually done. That cheque of yours will be going to pay sub-trades who have worked on other projects, not yours. A reputable contractor will provide you with a schedule of what will be completed at various stages and how much the draw will be to cover that stage. In other words, your payment should be for your foundation, not your neighbours.
Do your homework. Spend some time figuring out what you want by going to building stores, tile companies, plumbing showrooms, and the like. Familiarize yourself with what is available within your price range. Look at items like faucets, lighting fixtures, tile samples, windows, cabinets, sinks, door handles, door styles, trim options--all the stuff that you see around you in a house. If you are using a standardized floor plan instead of an architect, play around with the basic layouts to see if you can customize layouts to better suit your lifestyle. Check window placements and sizes, stairwell locations, etc. Collect lots of pictures of features that you like. The more information you can bring to the meetings with your builder, the easier it is for the builder understand what you want and to estimate costs and timelines.
Listen to your builder's advice if you are unsure of which way to go on something. He (or she) has built more houses than you and can give you lots of ideas and alternatives if you seem receptive. Don't, however, expect your builder to mediate between you and your partner--work out your disagreements in private.
Be flexible. A good builder wants a happy client, but some people are impossible to please. Don't sweat every little detail. You'll often get a better job if you ask your tile person to pick the best grout color to show off your gorgeous tiles than if you drive yourself crazy looking a samples of grey powder. And does it really matter what shade of dark grey shingles are on the roof? But also keep an eye on things by regularly visiting the construction site, especially when the house gets into the finishing stages. You can catch small errors before they become bigger issues. You need those electrical outlets on the island.
Changing plans costs money. If you don't like something, your builder can change it but it will add to the overall cost--and maybe your move-in date. Be judicious about what must be changed and what you can live with--see above: be flexible.
Problems will arise and mistakes will happen, but if both you and your builder keep the lines of communication open and have a good sense of what you are trying to accomplish, you'll get the house you want without having any horror stories to tell your friends--or be the subject of horror stories among the contractors.
Oh, and by the way, when we signed our contract in October, our builder told us the completion date for our house would be May 1, and that is exactly the date on which we moved in to our new home. Good builders are not usually the cheapest, but they pride themselves on delivering a quality product on time, which, to me, seems like a better option.