Nested code - blocks of code inside blocks of code - is eventually necessary, but increases complexity. This is why keeping the code as flat as
possible, by avoiding unnecessary nesting, is considered a good practice.
Merging if statements when possible will decrease the nesting of the code and improve its readability.
if (condition1) {
  if (condition2) {             // Noncompliant
    /* ... */
  }
}
Will be more readable as
if (condition1 && condition2) { // Compliant
  /* ... */
}