Стандартные разрешения в django привязаны к CRUD-операциям, и даже без R: create, update и delete. Таким образом, эти операции определяют доступ к конкретным категориям объектов.
Флаги is_active, is_staff и is_superuser имеют более общий смысл: они определяют статус пользователя, его положение в системе. Если not is_active, никакие выданные пользователю permissions не применяются. Если is_superuser, то они не имеют никакого значения - у пользователя есть все permissions, которые в системе есть, и даже те, которых нет (has_perm() возвращает всегда True).
Наконец, is_staff определяет доступ к админке и, таким образом, указывает, можешь ли ты в рамках админки использовать те permissions, что тебе назначены.
Таким образом, перечисленные флаги являются не аналогом permissions, а ортогональны им, регулируя применение уже имеющихся permissions.