DSL: Kems is the worst by far, low speeds, high ping, no customer support. Fast telco and Qualitynet I feel are equal.
Telecom: Zain is the best high speeds, decent deals, high caps (1 TB), however ping is inconsistent. Avoid Viva at all costs, they have daily caps. Can't say much about Ooreedoo because their signal sucks in my area.
It all depends on the area for telecom companies, so see if you can test out the internet on someones phone and compare. I recommend www.fast.com to compare speeds, it's much more accurate than speedtest.net