The most common reason is that you did not boil the butter and brown sugar mixture for long enough.  This means that not enough water has evaporated and the sugar did not reach a high enough temperature making for soggy toffee.  Be sure and boil for a full 2 minutes.