By default, if any of your products are marked as downloadable, WooCommerce will display a ‘Downloads’ My Account endpoint. This happens even if a user has nothing to download (i.e., they never purchased/obtained a downloadable product).
PHP
add_filter( 'woocommerce_account_menu_items', 'wptu_hide_downloads_tab_my_account', 9999 );
function wptu_hide_downloads_tab_my_account( $items ) {
$downloads = ! empty( WC()->customer ) ? WC()->customer->get_downloadable_products() : false;
$has_downloads = (bool) $downloads;
if ( ! $has_downloads ) unset( $items['downloads'] );
return $items;
}