How to regularly backup and update WordPress website with lot of images?

To be able to test newly implemented features without risking to break you site, you should set up a development / stating environment. This is a separate wordpress installation on a webspace preferredly independent of your live space but with a similar server setup. Then you always upload new code there first and test it to be sure it won’t break anything. After passing all your tests, you deploy the new code to your live environment.

Many hosting services offer you backup packages where you get for example nightly backup snapshots which then are stored offsite (in another datacenter). Another option would be to rent a different webspace or a specific backup space (also offsite) where you let your backup script store your backups, so you don’t need to download them.