The reason for the logo looking weird is that it
did load the logo from the cartridge, and if the pins aren't reading perfectly, the data comes out wrong.
One of the first pieces of code in the startup code embedded in the GB's CPU reads the logo data, doubles it vertically and horizontally, and writes it out to the graphics tile memory. It scrolls down the screen, even if it's corrupted. Then it compares the logo with one built into the CPU and puts itself into an infinite loop if they mismatch.
So, yep. It's a combined data consistency check, and an attempt to use trademark to prevent unauthorized software.