Settings page – can’t change checkbox to unchecked

I’ve done some debugging, it came out that this line caused wrong behavior:

$settings = wp_parse_args( $settings, $defaults );

I wondered why it’s after this line which supposedly does the same:

$settings = get_option( 'acau_settings', $defaults );

These 2 lines one after another were part of code from a wiser man, so I thought that maybe it’s some kind of fallback. It looks like only the latter works correctly for checkboxes.