The answer to that depends on the profile you’re using.
If you’re using an unprocessed profile, the video and audio streams are copied as it without any alterations (only slight container issues may be corrected).
If you’re using a regular profile then then some errors are detected and corrected but it also depends on which encoder is being used in the profile. Some encoders are able to handle certain types of errors better than others. Example, handrake is able to correct timing errors better than ffmpeg for most mpeg4 streams, where as ffmpeg will do better with mpeg2 data.
We have a LOT of testing with bad files. To give you an idea, each build of MCEBuddy goes through about 10,000 hours of file containing corrupted audio/video/container/metadata and converts > 99.9% of them before we release it (this number used to be close to 80% once upon a time).
Having said that there will always be some artifact left behind even after error correction but it’s also upto the player to handle these errors. Error are extremely common in video files, especially if they are recorded OTA or over cable. Most video players are quite resilient in handling errors, some (like Apple) are very picky. VLC is a great example of a software that handles errors very well during playback (and it comes for iOS devices, Android, Windows, Mac and Linux).