1) Depends on the project. For example, using a 3D engine/toolset for a 2D game doesn't make sense.
2) a) It is just natural for a professional programmer to be exposed to new/different languages all the time. You usually learn one main language first (in my case, C++) and you just try new things (in my case, Lua, C#, Python, Actionscript).
b) Maybe but unlikely. HTML5 is 'supposed' to be the Flash killer but I personally can't see it happening soon. Flash is only going to be a problem if you intend to publish for an iPlatform but even then, there are ways round this to a degree.
c) How is German different to English? As for commonalities, too broad a question. Some languages are similar, some are completely different.
3) Not all indie games make money. An extremely high percentage fail to break even. Even with a good game. Good games do not always mean good sales.