Our difficulty settings are set up in a fairly simple way: each word in our database has a popularity index based on frequency of its use. For example, words like "house" and "group" have popularity index below 500 which means they are part of the top 500 most used English words. Words like "insure" and "oversight" have popularity index somewhere in the area of 10000, and so on...
Now when you select "easy" level, your target word will always have popularity index below 2999. For "medium" it's between 3000 and 19999, and for "hard" it is everything higher than 20000.
Of course, you can still get easy matchups playing on "hard" and vice versa, but most of the time these settings do work as expected.