Do you use mindmap to brainstorm ideas before coding? Should I and why?
Mind maps are great for brainstorming, but fall down when attempting to actually build a model for your software.
So great as a first step, if it helps you. But use it as a reference and pick up a different tool when you're ready to actually design your system.
I wrote a blog post on this very subject:
http://daveswersky.com/2009/09/25/deconstructing-my-learning-process/
Mind maps are useful for organizing your research. They help me to understand where I'm strong and weak on a subject.
UML is a bit like structured mind-mapping. Why wouldn't you use UML notation to do mind-mapping?
I don't use them, I rather write dummy classes which force me to think about the actual problems I will encounter. Mindmaps are more for the "creative" types ;)
As always, use the right tool for the problem. I find mind maps ideal for complex problems, because they have a free format, so it frees your mind from formal diagramming methods. Never worry about using (or not) mind maps. If the problem is too simple, you'll find out very quickly. If the problem is complex, your diagram will start to grow more and more with questions and things to research.
UML, DFD, ER, etc. are good diagramming methods, and they have their purpose. If you have built a mind map, it will help you to use other diagramming tools.
It all depends on the problem/solution you are looking for. Where I work we have built a workflow automation engine around MindMaps and thus our MindMapping efforts go beyond thought organization and actually help drive our applications.