Let me just chime in here as someone who recently started using pywikibot.
I was very confused by the argument passing style, especially the use of a colon to delimit the name of the argument from its value. I questioned why it was like this and thought about how it would be nicer if it followed standard UNIX practice.
However, thinking rationally about this, there are a number of existing users and existing scripts which call pywikibot with the arguments the way they are. Forcing a migration is not feasible. And maintaining two separate methodologies for passing arguments is likely to introduce risk and bugs, without much benefit (since those who already pass the arguments the current way will just keep on doing so).
Thanks,
-Travis