Some of these mistakes would not have happened if I was using something like WordPress. Perhaps down the road I will. It can take a while for me to notice mistakes on my website. People browsing websites rarely report errors or poor performance, they just move on.
Easy to make and hard to spot.
Browsers do such a good job of rendering bad webpages that this can be hard to spot too.
The path names for images and links are path names on my computer not relative path names on the website. Can be hard to spot if it all works locally.
If I get the case of a name wrong it may not matter on MacOS as the file system can be mixed case and case insensitive. It does matter a lot on a Unix webserver host.
The files on the webserver host need to be world readable.
The links on the 404 page have to be absolute not relative as the URL giving rise to the 404 can be anywhere on the website.