You are correctly confused, as was I. In most applications the command line wins. I researched this change some and there is at least one legitimate use case for the change. That said, I disagree with this change to the SSIS runtime.
In SSIS 2005, developers had the option of storing values inside the package (design-time defaults), in Package Configurations, or overriding values at runtime.
In SSIS 2008, developers lost the ability to override values at runtime if those same values are stored in a Package Configuration. If developers want to store values in a Package Configuration, the values cannot be overriden at runtime; and if developers want the ability to override the value at runtime, they cannot store the using Package Configurations and must override the value from the command line each time (or accept the design-time default).
I don't like the change.
Further, if this is the chosen default behavior for a use case (or set of use cases), I believe this behavior should be a command-line option or package property - defaulted to the current (new) behavior - but "switchable" to the old behavior from the command line or inside the package at design-time.