At first cards.txt was only used to create simple creatures that had "standard" keywords like vigilance and trample but Rob and other people from the forums have contributed code to expand the types of cards that can be added to cards.txt. The best way to understand this is to have a look at Shock, Volcanic Hammer, and Lightning Bolt.
Each of these cards deals damage a creature or player and their only difference is their speed (sorcery versus instant) and the amount of damage. By "scripting" these cards it allows MTG Forge to be more flexible. Cards similar to Shock and Lightning Bolt can be easily added without having to add more Java code.
And this is just a tip of the iceberg. Cards.txt supports a number of other special words that allows to players draw cards or destroy creatures. While all cards cannot be scripted be scripted because they are too unique and different, like Warp World, many cards can be implemented this way.
Scripting Magic cards like this is the wave of the future. I also believe that the Wagic project uses Lua to script Magic cards. (Wagic lets you play Magic on your PSP or Windows machine.) A little game called World of Warcraft also uses Lua. Lua can be "embedded" in other languages so the programmer doesn't have to write a new scipting language from scratch (which is hard).