list = {5, 10, 3, 8, 9, 8, 8, 4, 1, 7};
___
A variant of rhermans `SequenceSplit` using `SequenceReplace`:
SequenceReplace[list, {a__} /; Total[{a}] <= 20 :> {a}]
> {{5, 10, 3}, {8, 9}, {8, 8, 4}, {1, 7}}
The sister version of `SequenceCases`, which is also not fast for large lists, but is short and clear.