Does creating repeating pattern textures like this lead to a decrease in the realism of the final image?
Not necessarily, I don't think? I mean, even in real life, we come across many, many cases of repeated textures -Ex. The bathroom tiles mentioned in lecture, brick walls, etc. Of course, it can be argued that in real life none of these patterns are exactly the same, but even then, the human eye doesn't exactly "see everything" anyways. Ex. When we look at the leaves on a tree, we're actually only focusing on a few leaves, and the rest is kind of just becomes background noise, in a manner of speaking.
TLDR: I think I would argue that the realism of the final image has more to do with the quality and resolution of the texture in question than the number of times it's repeated, but that's just my two cents on this.
I think there are a lot of limitations imposed on the texture artist when you utilize tiling. I noticed that with the bricks in this picture (last slide), the horizontal cracks between the bricks are perfectly straight lines, presumably because if they weren't perfectly straight the texture wouldn't tile as well.
Another limitation of tiling: small details that are meant to add "character" to a texture can easily become repeated too much when tiled. I can imagine a situation where the artist wants to add a cracked brick to the texture, but can't because once that texture is tiled across the whole building, the illusion is ruined and the tiling becomes easy to see.
In regards to how to "tile as well", even if the bricks are not perfectly straight lines, there is a lot of work in computational photography (CS194-26 discusses this!) on how to quilt textures together seamlessly (i.e. using non-parametric sampling). Here's some resources that explain/show this better!
Besides the fact that you need fewer unique texture tiles, is there a performance benefit to repeating this tile over and over? Does the gpu optimize loading this same texture repeatedly?