My biggest issue with Joomla has been it's utter lack of documentation. However I have been hammering on it for a while and I have come to love the beast I was forced to learn.
Modules are basically widgets. You can make a module that shows things like upcoming news, or featured events, or "quick links". With any module you have the option to place it on all pages, or a selection of pages.
If you install Jumi then you can make a module and point it to a php script which you can make do anything you want. Most components come with a couple modules, but you can always make custom ones. (E.g. a event component usually comes with a "upcoming events" module. But if you don't like it you can create a module and code it to output events using logic and SQL of your own choosing.
Menus are simply navigation items. In your template you can define what position in the template a menu will display, when you add a menu you define what content type you are linking to. Your standard menu will point to an article (AKA webpage). When you create a menu item you must first select the menu type.
A menu of type "single article" will require you to select which article you are linking to.
A menu type of "Upcoming events" will display upcoming events and the "view" for this will come from the event component.
A menu type of "list contacts" will show a listing of contacts from the contact component and the "view" method for this will come from the contacts component.
Anytime you want to override a defaut view you can create an overriding template. There is lots of documentation on this.
Categories I almost never use. The only time I use them is when I am trying to restrict user workflow. Eg userA can edit a collection of pages (1,2 and 3). userB can edit a different collection of pages (4,5 and 6) I use a separate category for each of the page groups then assign edit permissions based on categories. It is the only use I have found for them but I can see why some site structures would make use of them.
I will echo CAT... Joomla is not dieing, they just need to work on documentation but it is widely adopted and supported.
If you have specific questions I will try to help you.