Ideas for programming come from solving a problem you have or someone you know well has.
The relational database which spawned all manner of things came from someone getting really fed up with different files and folders on each project they worked on. The solution offered provided the world with MySQL (a long way down the line) after passing through many developers.
The orignal idea came out of frustration Edgar Codd had.
As for mobile developing - that is a major topic which is constantly changing.
The iPhone is popular, but Nokia dwarfs the device in terms of users.
Those two operating systems are unrelated (iPhone OS and Symbian) and have different method for developing, Android is so new I haven't even seen a handset running it yet!
As far as affiliate marketing on phones a quick search kept pointing to some existing tools which work across different countries - someone has done well so far, but there is more to do in future.
Some great mobile marketing training by Dan Hollings is the most practical I've seen http://tgli.de/Hxv no wonder he taught Oprah to Tweet!
Keep learning and keep trying, you're bound to get there in the end.