Everything you stated is correct. A parameter allows the user to specify a single value. It can be constrained to a range of possible values or a list of possible values. The list can be populated from the domain of a field, but once the list is defined it is static and is not dynamically updated from the data (unless you manually do so). The parameter is not data aware, so as you noted in #3 there is no dependency or option for narrowing the domain of possible values based on any other filters.
thank you very much Joshua for your confirmation!!