The Middle East is a fascinating region when it comes to language, and as is usually the case, there is no one or straight forward answer as to what language is spoken in Iraq.
Arabic
Arabic is the most widely spoken language across Iraq. Iraqis have their own unique dialect of Arabic, known as Iraqi. Prior to the invasion of 2003, Arabic was the only official language, however since the writing of the new constitution in 2005, Kurdish is now also considered an official language.
Kurdish
In the northern Kurdistan region, the main language is Kurdish. While they still use the same Arabic derived script, this language is more similar to Turkish and Persian than it is to Arabic. There are two main dialects of Kurdish called Kurmanji and Sorani. Sorani is the official dialect used in Iraq.
Other languages
There is also a sizeable population that speaks and Iraqi dialect of Turkish, which uses Turkish script. Other minority languages include, Assyrian, Armenian, Syriac and Turkoman.
English in Iraq
Like in a lot of parts of the world these days, in cities, and amongst younger or more educated people, English is fairly widely spoken, however in rural or poorer areas there is very little English spoken and it's not a bad idea to try and learn a few basic words and phrases in either Iraqi Arabic or Kurdish, depending on which part of the country you're visiting.