Net neutrality is supposed to protect the users from the networks throttling data users want in favor of data the networks want. (i.e. ads having higher priority than real-time gaming or web traffic, because the network gets paid more for ad traffic for example). But a user preference system does not solve that problem because the user can only specify preferences for his own little segment of the network, namely, the uplink between him and the provider. The network providers can still throttle traffic all they want and the user's preferences don't mean diddly in the big picture. Even if the user's preferences are set and somehow considered in routing on the wider internet, basically everybody would mark all their packets as high priority, so it's the same as having no priorities. Unless high priority packets cost more. Which is exactly what net neutrality is trying to block from happening. Suppose you use Bit Torrent. If you set preferences to prioritize Bit Torrent traffic on your uplink, but the networks throttle Bit Torrent traffic on the trunk lines and backbone, guess who wins? All other traffic. Your preference settings are irrelevant in the big picture because the performance is dominated by the load and traffic shaping on the other networks your packets travel though. Although sure, you could prioritize certain traffic over other traffic on your internal network and outgoing on your uplink. Oh wait, you already can, in almost all consumer grade network routers....if you look in the options they allow you to set QoS and prioritize certain types of traffic. But none of them can control what happens on the uplink side or out in the network past your provider.