It's all fun and shells until you start adding parameters especially when those parameters have quotemarks in them. Groovy can get pretty wild with the syntax.
See it how you wish; but shell script execution was part of Jenkins from day 1, to my knowledge, over 20 years ago now. It's a 'workaround' the same way walking upstairs is a workaround for an escalator, imo.
As for cron, that's also supported out of the box.
At that point Jenkins is mostly acting as a nice frontend to all those cronjobs and shell scripts, but at least it keeps records of all the logs etc.