BT is OK if you can get through to the UK call centre when you have a problem. Most folks local to me who are with BT have horror stories of days of delay with the Indian call centre before anything got escalated to a man in an exchange in the UK. Some have moved to PlusNet (owned by BT but run very separately) and are happy.
I pay the extra for IDNet. Not "cheap", but when things go wrong, I speak to someone in the UK who tests it there and then, tells me what he's found, and gets it fixed quickly.