The property that fold has is that it is a list-recursing function, which is equivalent to all other list-recursing functions, provided you give it the right parameters.
It has this property, because it accepts as a parameter, the functions which will be applied to the items in the list.
For example, if we wrote a simple sum function:
sum [] = 0
sum (head:tail) = head + (sum tail)
then we could actually write it as a fold function instead, by passing in the (+) operator which we want to use to combine the items:
sum list = foldl (+) 0 list
So any function which acts simply and recursively over a list can be rewritten as a fold function. That equivalence is the property it holds. I believe he calls the property universal, because it works over all these linear-list-recursive algorithms, without exception.
And as he explains, the reason this property is so useful, is that because we can show all these other algorithms are actually equivalent to fold, by proving something about fold, we also prove it for all those other algorithms.
I personally found the fold function hard to understand, so sometimes I used my own which looks like this:
-- forall - A kind of for next loop
-- list is list of things to loop through
-- f is function to perform on each thing
-- c is the function which combines the results of f
-- e is the thing to combine to when the end of the list is reached
forall :: [a] -> (a->b) -> (b->b->b) -> b -> b
forall [] f c e = e
forall (x:xs) f c e = c (f x) (forall xs f c e)
(This is actually slightly more powerful than foldl because it has the extra feature of applying the function f to each item in the list.)
Well nobody proved anything about my function. But that doesn't matter, because I can show that my function is in fact a fold function:
forall l f c e = foldl c e (map fn l)
And hence all the things that have been proved about fold, are also proven true for my forall function, and all its uses throughout my program. (Note we need not even consider what kind of function c is supplied in each of the different calls to forall and foldl, it doesn't matter!)