Basically, a simple website is comprised of 3 major technologies i.e. html 5 css3 and java script. BUt there are other 100s of technologies that is there in the backend like: Python, ruby, node etc can be used. But overall in the front end, in the rendering, only these 3 technologies are used. However each browser use a completely different rendering engine to compute these 3 technologies. For example- chrome use blink, firefox use gecko and IE use edge html and chakra, because of which same website would be rendered completely differently by all these different browsers. And that's exactly why you need cross browser testing.