Minor versions go up according to a certain pattern based on how the change mgmt is handled for the kernel, but major releases are marked when the kernel team "feels it's the right time".
From lwn: https://lwn.net/Articles/871989/
To kernel developers, version numbers continued to have no meaning other than as a measure of where things were on the timeline, he said; users were encouraged to run the latest version. But if you tell customers they need to move from 3.20 to 4.0, they will consider it a multi-year effort that requires planning and paperwork; "so they will only do it when they have time, which is never". Going from 3.20 to 4.0 seems like a big jump, and 4.0 to 4.2 seems much smaller, even though the latter brings roughly double the number of changes.