We are in the middle of a highly customized MOSS Implementation. One thing I'm learning as a Solution Architect is that portal technologies like MOSS are so much more complex than anything I've worked with before.
By complex, I mean specifically around the development life cycle. Sure there is a lot more "out of the box" you can do with it, but to get every piece of code working perfectly together takes significantly longer than other development work we've done in the past.
At last count we had 113 software bugs to resolve. Most of these are due to just the additional complexity of how to make all the components work together in the MOSS environment. It is for this reason I highly recommend if you're doing any kind of significant development or customization on MOSS, have a dedicated development farm in addition to your staging farm. Even though developers have VMs to build on, it's just a whole different animal when you put all the bits together on one box and do a complete solution test.