You started with modeling, and this is great, especially in the field of computer science - you model all the time. Keep in mind that UML is the standard for modeling notation for software systems, nothing more (for example, it is not an analysis or development methodology) and no less (for example, developers cannot look productive by drawing senselessness).
You are on the right track, always remember what is actually useful and gives you some value. This is not entirely relevant to your question, but examples of litigation are not examples of use, much more, they are written and can help you in most of what you described in your next course.
As for your concern, modeling is about abstracting from non-essential details, so some ambiguities may arise. The fact is that they must be unimportant for the purpose of modeling. For example, it doesn't really matter if you include all the properties of your classes if you want to show the design structure, for example. use of some pattern. You can also use public properties that are not relevant to yourself if they are private fields with getters and setters (Java), properties (C #), or generated object methods using metaprogramming (Ruby). The same applies to scenarios shot using precedents - of course, you cannot (and should not try) to grab alternative branches using UML, but you can describe the conditions in the descriptions of random cases enough to avoid ambiguity, without having to first develop a system and after that he is mistaken.
As far as voodoo materials are concerned, the problem is that UML is large and many developers do not know how to use it correctly and often create more mess than meaning. Do not confuse the general disrespect for UML, the problem lies in tool providers, commits and lazy developers ... Formal models supported by academic scientific work, for example, are well-known for many concepts in UML. state diagrams come from Harel state graphs (http://linkinghub.elsevier.com/retrieve/pii/0167642387900359). Therefore, in my opinion, this is not so much voodoo, in principle, it is just oversold with tools that do not support the standard, and the standard also tries to be and combine everything (this is a single language ...), but it is slowly improving.
My advice for you will be trying to find out what is important - these formalisms, methods of analysis and design, try them in practice and decide for yourself which is useful. If not for any other reason, study UML, because it is a language for analysis and design, although large, it is still better than its predecessors ~ 50 together :).