Rules where 'adjacent' and 'changed' differ are only needed for special cases. Lets say for example you have a forest with a chasm terrain and water terrain, but there are no tiles with huge waterfalls at the edge of chasms where the water meets the chasm. Now if you don't want the toolset to show a red square when someone tries to place water next to a chasm the chasm has to be changed to forest terrain.
The rule would be:
Placed=Water
PlacedHeight=0
Adjacent=Chasm
AdjacentHeight=0
Changed=Forest
ChangedHeight=0
They can also be useful for terrains that can't be raised like water (there may be tilesets where raised water is possible, but in most cases it is not).
Let's say someone wants to place water next to raised building terrain, but those tiles do not exist. You have three options now:
Don't make a rule that changes the raised building terrain to a different one that works next to water. This will mean the builder will see a red square in the toolset when trying to place the water.
Make a rule that lowers the building terrrain next to the water. If there is another raised building terrain next to the one that is going to be lowered and you have no tiles with raised buildings next to lower buildings this won't work and the builder will still see a red square around the tile when trying to place water.
Make a rule that changes the raised building terrain to another raised terrain type that works next to water.
Since your forest terrain can be raised unlike water terrain in most tilesets you don't need any of the rules that say that raised High Forest should change lower High Forest to raised platforms like your rule 20.
All the rules in your set file in which 'adjacent' differs from 'changed' can and should probably be removed.