Why is this an issue?

Nested If, Select, For, For Each, While, Do, and Try statements are key ingredients for making what’s known as "Spaghetti code".

Such code is hard to read, refactor and therefore maintain.

Noncompliant code example

With the default threshold of 3:

If condition1 ' Compliant - depth = 1
  ' ...
  If condition2 ' Compliant - depth = 2
    ' ...
    For i = 0 to 10 ' Compliant - depth = 3, not exceeding the limit
      ' ...
      If condition4 ' Noncompliant - depth = 4
        If condition5 ' Depth = 5, exceeding the limit, but issues are only reported on depth = 4
          ' ...
        End If
        Return
      End If
    Next
  End If
End If