Here's the deal - as I understand it....
At it's most basic, swing 1/8th notes are the same as playing the 1st and 3rd 1/8th triplet of each beat. (As opposed to straight 1/8ths which of course are just played evenly). The problem is though that we really only play swing 1/8ths that way at medium tempos. As the tempo gets faster, we just naturally start to even them out... it just feels better to do so. To stick with strict 1st & 3rd triplet at faster tempos just feels stiff - very ricky-ticky.
As we play jazz and swing faster and faster, we eventually get to the point where we are playing the 1/8th's straight.
Now this would be easy if there was an actually rule that matches the relative evenness to the tempo for best swing effect. But there isn't. Different players playing different feels in different eras will have different takes on it.
So what the swing function is doing is adjusting the placement of the offbeat 1/8th notes (or 1/16ths in 16th swing) from a ratio of 50/50 (even 1/8ths) to 67/33 (1st and 3rd triplet) - depending on the software, that will leave choices like... 52/48, 54/46, 56/44, 58/42, 60/40, 62/38, 64/36, 66/34, 67/33. Or sometimes - just 50%, 52%, 54%, 58%, 60%, 63%, 67%. It varies from drum machine to drum machine and with the various software - but the idea is always same.
As for variability - unless we add a randomizing parameter, nothing varies once set. And I got to disagree, that it impossible to make this swing like a real player. Because one of thing I've done is throw some recorded bits of great players up into a DAW - and really measured where they are placing their offbeats - and how much they are varying. And what I found - and why I think those players often feel so good - is just how consistent and insistent their groove is. How, once they've set a certain swing feel in place, they stick to it - through their timing and fills - incessantly.
Why no swing function on triplets?
Because just like when we are playing them in real life - if we're going to play 3 triplets in a beat - we have to place them equally. Or they don't sound like triplets. But again - just like real players - we can be playing in a little more straight feeling shuffle feel - say 63% - and then occasionally play a run of triplets as strict triplets. The trick when programming is to only quantize the solid groups of triplets as triplets - quantizing the remaining broken 1st and 3rd triplet phrases with the swing setting you've chosen.