Most websites use -
(like Stack Overflow) but most PHP frameworks generate +
encoded URLs.
So, what is the best for SEO? Use +
or -
as separators?
A plus is the simplified encoding for a space (used if %20 is not used, though both are equally valid). The '-' has no special meaning in URL encoding and will be decoded as a '-', where '+' will be decoded to a space.
Sites like stack overflow must be translating spaces to '-' to generate the URL (as opposed to encode the URL).
See the wikipedia article on URL Encoding for more details.
Oh, and to directly answer the question, neither is better or worse for SEO.