Sometimes yes, sometimes no. It's not useless but it doesn't fully solve the problem. A trial period primarily delays the question and often lowers the quality of the software to make it work. You'll still have to deal with the hassle eventually, and you'll have the additional hassle of finding somewhere to inventory a software key or something similar in case you ever need to reinstall.
The only way to solve the problem is to make the transaction fair, which usually means making it as fast and painless as possible, it means a fair price, and it means top quality software that doesn't involve built-in limitations.
Also, for one-off problems, a trial period might be a great solution for me but not necessarily good if you're trying to sell software.
If that was the solution I doubt we would be having the discussion. Shareware/Trialware is usually only good for enterprise solutions. Places where it makes sense to test it before full deployment.
Once an OSS solution moves into a domain the best I think the market can do is offer a free solution that competes with the OSS and a value-added solution that takes it a step higher.