How many times did you use a desktop app or an online page and you come across one or more menu items which are disabled and you have no idea why its disabled. Using help or documentation is of no use. It gets frustrating because it's stopping you from moving forward.
I have NEVER seen this usability practice used. Hover over the disabled item and a tooltip lists you the reasons and you go "Oh.. ok. now I know". Your other option is you have to contact support or post in a forum, explain what you were doing. Wait for what possibly be days tell you get an answer, if any. This is the difference between black & white. Getting instant help by a simple hover or get frustrated and wait for hours.
If you are the one developing the app, you know exactly why an item is disabled because you disabled it in your code. So it's not hard to show the reasons to the user. Is it?
This little tip could have saved thousands of tech support calls. There are millions of posts on the web of Why something is disabled or grayed out.