The first version of our disk imaging product (Drive Image) was not so polished because I was the only one working on both the engine code and the UI layer. Once that started selling we'll, they assigned someone to help me with later versions.
It's been a long time, but I seem to remember that there were a few areas that were not documented well by Microsoft and we had to guess what certain fields meant.
Because we often had to move file contents around, some files became more fragmented while others became less fragmented since we tried to be smart about where we moved file blocks.
My biggest takeaway was understanding file system architecture. For some features, I was impressed by what their architects designed. For others, I wondered why on Earth they did it 'that way'. I started keeping a list of things I wanted to be different and eventually incorporated many of them in my new object store design.