Trademarks are (as I understand it) a way to stop other from trading as you in some way. You can't pretend to be facebook, affiliated with facebook or use a name/symbol that makes it easy to get confused.
OTOH, if your product relates to another (Companion to "Fundamentals Of Microbiology by James O'Leary" by Timothy Goldman), is that not allowed? Companies can be called "Help with Windows" can't they?
What are the actual rules?
To look at your examples, however: the usage of prepositions changes things drastically. Can you imagine Microsoft creating a new product, "Microsoft Essentials"? If you saw that book, would you at least momentarily, wonder if it was a first-party product (book, software, whatever) from Microsoft? I am not certain about you, but that sounds like it could be them. However, if I saw "Essentials of Microsoft", I am pretty certain I wouldn't jump there: I would think that this is something describing Microsoft, not something built by Microsoft.
(edit: I thought I made that example up, but I then did a search for it after posting my comment, and it turns out that, in fact, that is so much the kind of thing that Microsoft would do that they pretty much have, with "Windows Live Essentials", "Windows Essentials", and "Microsoft Security Essentials", all being terms they've used. Yet, even with all of those usages, "Essentials of Microsoft" sounds more like a documentary or description than something they would have made themselves.)
This gets exceptionally bad with little tags like Apple's "i"; the "i" is so overwhelmingly "Apple's thing" that if I saw an app on someone's phone called "iVideo" I can't imagine not thinking "wow, Apple made a video service?", and when people choose a name like that, it is because they know what the "i" means to people, and they want to look "more official" and "more like Apple", which even if the intention is not "I want them to think I am Apple" is still in the bad zone.
Regardless, the core issue here isn't even this trademark problem, and that should probably have just been left at "we agreed this was fine, and now they are changing their minds". The more serious issue here is whether Facebook should be able to ban a user for building a product they don't like and whether building it, using it, or both are legally grounded.
iGoogle (Wow, Apple made a Google service?)
iRobot (iRobot Roomba, etc. - 1990)
iBrowse (Amiga browser, 1996)
A little googling (heh) will find lots more.
Trademarks need to be chosen from non-generic words and symbols, or must be qualified by a non-generic name (e.g., "Microsoft Windows" vs. "X/Windows").
Allowing one company to co-opt a letter of the alphabet pollutes the global namespace far too much.
In this case, the "i" is a great example because it is clear that Apple does not own the "i". They do, however, on their devices, use that all over the place for their things, and if users saw it in that context it invokes "oh, this is Apple's service".
Therefore, in the restricted context of Apple's device they have a pretty good claim that if there is an "i" on something, there will be confusion. However, if listed on Google's website, or on a router, it wouldn't be; it is all about context.
"Allowing one company to co-opt a letter of the alphabet pollutes the global namespace far too much." <- This, thereby, is just a BS argument that you find on forums constantly that totally ignores how trademarks actually work.
In addition to the identifying function of trade marks, a trade mark owner can generally take action where someone is piggy-backing on the goodwill in a mark (for example a reasonable consumer wouldn't necessarily think 'Rolex Tractors' was related to the watch company as they're very different product fields, but Rolex would be able to argue unfair advantage is being taken of their mark) or is causing it detriment.
In the same way as patents are a way to encourage innovation. In the hands of corporate lawyers both turn into means to turn others' lives harder.