Turning off screen updating doesn't strictly make the code execute in the background - the user interface is effectively disabled (or rather pretty much unusable) whilst the macro executes.
Application.ScreenUpdating is one of those settings that automatically resets to True on macro completion (so having error handling to reset it is not really necessary). The reason why you see it set to True in so many routines is to adhere to good coding practice.
The behaviour of Screenupdating resetting to True is in contrast to other settings (most notably EnableEvents, for example) that does not reset to True - so you should always use error handling if you turn off events (and want them back on again).