Gdd at the indie level is wasted time under the illusion of productivity
I believe that's a bit extreme, but I tend to agree with this comment.
You should only have a GDD for someone that are not familiar with the project (outsiders) so that they understand what it is. In essence, it will be much more an elevated pitch that showcases your dedication than an actual GDD, and it should only be used when looking for financing, marketing, etc. Basically, when you need to convince a third party that you are for real.
Of course, a demo/prototype does the job best.
My team and I tend to use decentralized information (a series of single-feature documents in google docs or confluence for example) and iterate too fast on mechanics to document everything. You should embrace this aspect of indie development: GDDs are simply not required most of the time because they are used to communicate more efficiently across large teams, and most likely, you only have a small team.
A 'no-GDD' universe works best with very small teams (3-4) and physical proximity but is not unheard from larger teams with alternate solutions (skype, etc.)
That being said, sometimes, when you have an idea, it is best documented than explained. The reason for this is that a lot of people might get carried away on how fun it appears from the surface (and may lead to inefficient communication) but if not all of the details have been thought through, it may be a moot point. As such, a 'Feature Design Document' is both a tool to help you describe the finer details to insure you have a fair grasp over the use cases brought forth by said feature, and a good support tool to explain to your team.