Controle de acesso baseado em função (RBAC) x controle de acesso baseado em declarações (CBAC) no ASP.NET MVC

Quais são os principais benefícios do uso de CBAC vs. RBAC ? Quando é melhor usar o CBAC e quando é melhor usar o RBAC? Estou tentando entender os conceitos gerais do modelo CBAC, mas a ideia geral ainda não está clara para mim.