Timing pattern
The alternating dark/light lines that let a decoder count modules.
The timing patterns are a single row and a single column of alternating dark and light modules, running between the finder patterns along row 6 and column 6.
Function. They are a ruler. Having located the code, a decoder counts the alternations to determine the module size and therefore how many modules the code contains — which establishes its version and the sampling grid for every other module.
Consequence. Like alignment patterns, timing patterns must be rendered as solid squares. If a dot style breaks the alternating run into separated circles, the decoder cannot measure the grid and decoding fails before any data is read.
In practice
Look along the row connecting the top-left and top-right finder patterns on any QR code and you will see a strict dark-light-dark-light run. That is the timing pattern, and it is how the decoder works out that a code is 29 modules wide rather than 25 or 33.
Get that measurement wrong by one module and every subsequent sample lands in the wrong place, so decoding fails completely rather than degrading. It is the reason a styling choice applied uniformly across a code can take it from "always scans" to "never scans" with no middle ground.
Questions
Why row and column 6 specifically?
Row and column 6 sit immediately inside the finder pattern separators, which places them in known-fixed positions regardless of version — so the decoder knows where to look before it knows how big the code is.
Do timing patterns carry data?
No. They are purely structural, which is why they are identical on every QR code of every version.