Yes indeed. Rough details of compensation can be found
here on the BA website.
There are many, many get-out-clauses for airlines though with the main one being Force Majeure which essentially waives a passengers rights to compensation in the event of anything causing a delay that is seen as not being the airline's fault (many technical cases, adverse weather etc.)