A( B( C(X) ) ), if A becomes broken in the future, its still
B( C(X) ), as opposed to just revealing X straight away
And at the same time using various other methods "depending on the master key" makes it impossible for an accurate time and process estimation for brute-force attacks.