I just spent a couple of days trying to get VLC to play DVDs, finally figured out what the problem, was and wanted to leave a note here to hopefully prevent others from wasting so much time.
Even though libdvdcss and libdvdread were both installed and were both current versions, as was vlc, vlc would display messages in the error console about "error cracking css key" for some, but not all vob files, and would not play any commercial DVDs.
It turns out that the problem was that my DVD drive didn't have the region code set, and this apparently screws up decryption. The solution was to run the "regionset" utility from http://linvdr.org/projects/regionset/ and set the region to "1". (also available in Fedora via yum, and probably others via their package managers).
In any case, I hope this saves people some aggravation.
This probably belongs in the FAQ, but I'm not sure how to edit it.