Your interpretation is correct. You can use "=" in any case where you could use IS, but the reverse isn't true. By definition, IS can only be used with the EMPTY and NULL, and thus only with fields for which those predefined empty values are valid.
As for "why the overlap", my best guess would be that IS was created for user similtude to SQL - the dual syntax was present when JQL appeared - when JIRA went from Lucene syntax for version <3.x to JQL for > 4.x.
In any case, "=" will work just as well as IS in any case where IS is applicable.
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot