Firmata - How to?

I'm exploring firmata and have a few questions? What kind of an application can i use it for? how is it different from using serial communication? Currently I use python to capture serial data and then process the data. Now i can very well pass all information from arduino using serial print. How does firmata improvise this? i know it does but unable to get clarity on this. I would appreciate if someone can explain with an example.

Cheers
pracas

How does firmata improvise this? i

It only 'improves' things because it provides a pre digested piece of code to communicate signal input / output back up to your computer. It does nothing that writing your own code would not do more efficiently.

In effect it just saves you the bother of writing code if you find it difficult or don't want to get involved in it.