Considering the current system that we have, I do not believe that allowing fly in any capacity for regular players is a good idea without any proper regulations on what fly would be used for.
Keeping in mind, that fly serves as an extremely efficient transportation method; thereby reducing time of whatever activity one is engaging in.
Examining the following cases purposed here, assuming best case scenario (no resource cost):
1) Fly allowed for every player:
As mentioned, this would create a huge problem when pvping; and would also encourage extremely rapid growth in exploration and expansion of the current world. Considering places like the End, fly is a huge game changer as players do not need to invest anything to explore difficult terrains; Or the Nether, when one misstep drops you into lava, is easily solved by just using fly. With a strong enough economy, any player would be basically playing in creative mode. And as I have always said, once you reach 1 mil on VC, you are basically playing on semi creative.
2) Fly based on cost:
Basically same benefit for allowing every player fly, but for rich people
3) Fly based on region:
Although it seemed like a good idea, this system could very easily be abused. Consider this: First building a village, buying permit for fly, convert village to farm. Which for all intensive purposes, it is not a bad thing to have a farm when they are designed appropriately; however that also means that it is relatively easy to prop up multiple different farms in a relatively quick succession.
4) Fly based on permits:
Out of all of the suggestions, I do believe that this is perhaps the best option, as we could regulate a) what players build, b) establish reputation for players and give a guideline for any staff members to handout permits. Albeit, this would be an additional admin work for the staff team to manage. Additionally this is lining up more towards how fly is given today, but formally.
And to address some of the points made in this post,
I do not believe that fly is given based off staff favourtism/discrimination is true, but rather it is based off the specific use cases and reputation. Based on those conditions it is hard to proof definitively that staff favourtism exists.
For my case, if you want fly - just ask, as long as it is reasonable (ie, you are not exploring, you are not pvping, you are not building farm + other conditions) , the most ill ask you to do is something relatively easy and stupid.
As for allowing fly for based off the "difficulty" of builds, I do not believe that would be effective, as it leaves room for interpretation, and you would actually allow "staff favourtism" to play a role.
And also to address the fact of being unfair for building personal builds. I'd like to remind everyone that the creative world exist, and world edit does so too. Whether or not it is a huge burden to the staff team, is another question