In short, yes: you are entitled to reimbursement of accommodation costs (or rather: the carrier has a duty to provide you with accommodation) whether it is a canx or delay and whatever the causes of the canx/delay. Cause of delay/canx is only relevant for the right to compensation, not the right to care.
To develop this a little more:
Regulation 261/2004/EC gives you three main sets of rights: a) right to compensation (Art 7), right to reimbursement or rerouting (Art 8) and right to care (Art 9).
a) right to compensation
That is a fixed statutory amount of €250, €400 or €600 euros depending on length of flight (can be reduced by 50% in certain circumstances).
According to the text of the Regulation, it seemed that this was due in case of IDB and cancellation but not delay. However, in a case decided last November (the
Sturgeon case), the ECJ found that the right to compensation would arise even in the case of delays provided you arrive 3 hours or more later than the originally scheduled time.
In cases of delays and canx, the carrier can refuse to pay compensation if they can establish that the delay or canx was due to 'extraordinary circumstances'. It is generally admitted that inclement weather can constitute such an extraordinary circumstance.
In cases of cancellation, compensation is also not due if pax are informed in good time (the reg defines various thresholds as to how long before the flight the pax must be informed).
b) right to reimbursement and rerouting
This right applies in all cases of cancellation and in cases of delay > 5hrs. Cause of delay is irrelevant and, in the case of canx, right is owed regardless of when the pax is informed.
c) right to care
This covers overnight accommodation, meals, phone calls, ...
This is owed in all cases of delays and rerouting following cancellation, regardless of cause, provided certain thresholds are reached (two hours or more for flights < 1500 kms).