1. It's the condition variant of 'if'. Rather than 'if this is true, execute this effect', it's 'if this is true, check this condition'. It allows you to do simplify some checks, and make the logical structure much clearer than nested logical gates (AND, OR, etc.). Did you read
this yet?
2. A random integer between 0 and 100 (inclusive) is rolled. If it's equal or greater than the number on the right side of the trigger, if evaluates to true. That means 'random = 90' has a 10% of evaluating to true. It's therefore better to instead write 'random < 10' so that the chance matches the number.
No, it doesn't. any_ and random_ scopes can be filtered to desired requirements this way.