There are many situations where setting one priority for a task is a hard question. It is much easier to give it some weight (How urgent and important is the task?) and a complexity (Is it hard to do or something trivial?). This adds a lot of freedom to re-prioritize tasks for the current situation. For example if you just don't want to do something complex but still reduce the weight of the todos on your list. Using two values instead of one opens some doors for automatic optimizations.