In terms of quality of the connection (packet loss, latency, disconnections, service outages, speeds, latency at peak times to foreign servers etc) - BSNL is the worst, airtel is a bit better and reliance bb is supposedly best.
bsnl also has the worst customer support.
In terms of pricing bsnl is the cheapest.
airtel isn't really that good overall. It's quite expensive considering the service they offer. They also have "fair usage policy" - this basically means that you have a very limited download allowance, after which your download speed gets 1/4th.
think about it : with bsnl when you go over the limit, you pay 70p per mb. with airtel when you go over the limit; your entire internet becomes effectively unusable.
Airtel and BSNL tend to share routing as well (both use either tata/vsnl or bharti)
Airtel salesmen are extremely pushy and typically full of bullshit (they tend to go and on evading questions about FUP and lying a lot).
I wish kolkata had mtnl

or a proper cable internet service.
It's quite absurd that the entire world has moved over to cable internet and we are stuck with shitty DSL.