I would say, what ever the function which we are mentioning or called as a COMMON that can be changed to a Powerful Script Extension.
Some scenarios I'm using Script Extensions,
Scenario #1:
I use DDT driver to read the data from excel then store those stuffs in a Project variable. In each cell i will values like below,
userNames=tester,devloper,customer
roles=role1,role2,role3
For getting the list of userNames in a array i created a function which will return [tester,devloper,customer] array and few more options i want to have.
In this case, I created Script Extension that will return me the array values if i input the cell value and what property i want.
Scenario #2:
Its very simple and basic, I want to convert the String to Integer value for this i can use Test Complte inbuild method aqConvert.StrtoInt.
But when you input value as "test" then aqConvert.StrtoInt will thrown an error as Can't convert value.
So, I created a custom function Log an error instead Error popup. For this i can created script extension,
And same kind of different scenarios i have been using Script Extension.
For all this starting point is tristaanogre session on Script Extensions :)