I know this is not the perfect place to ask this question, but it is so hard to find a good answer and I prefer to ask experienced professionals.
What are the fees we must pay to publish an application on:
And what is the percentage these companies keep?
Apple charges $99/year to join the iOS Developer Program which lets you publish apps for the iPhone, iPod Touch, and iPad. If you price your app for free there are no further charges. If you charge for your app, Apple takes 30%. You'll need to buy a Mac to develop your app on (you can't develop iOS apps on Windows). All the software you need to develop your app is included in the price of iOS Developer Program membership (most of it also comes for free with every Mac).
Microsoft Charges $99/year to join App Hub, which lets you develop for both the Xbox 360 and Windows Phone 7. For developing Windows Phone 8 apps you'll need Windows 8 64 bit and Visual Studio 2012. Like Apple, Microsoft doesn't charge for distributing free apps (you can submit 100 for free, and after that it costs $19.99 per submission), and they take 30% of the revenue for paid apps. You'll need a machine running Windows 7 or Windows Vista to develop your app on, and you don't need to buy any software (though you can buy a Visual Studio license if you need the features provided by the more advanced editions, but that would be unusual).
Update: The App Hub link above is broken, and I don't know about Xbox apps, but in general Microsoft's App Dev fees have changed, it it now $19 (one time fee) for individuals, and $99 (one time fee) for companies. Microsoft Developer Registration Page/Details.
Google charges a one-time $25 fee to get a developer account on Google Play, which lets you publish Android apps. Free apps are distributed at no cost, and Google takes 30% of the revenues of paid apps for "carriers and billing settlement fees". You can develop Android apps using Windows, Linux, or a Mac. Apps are written with the Android SDK which is available for free.