Basically, any URL that is generated dynamically and contains strange characters such as ?, %, sessionid=?, time stamps, etc., are parameter based URLs.
Default WordPress installation is not good as it dynamically generates permalinks/URLs which has a “?” in it. You might want to change that to a custom structure, for example, using topics as your category base would make your category links.
Google in a post for Webmaster Tools Help “Keep a simple URL structure” says that “Overly complex URLs, especially those containing multiple parameters, can cause problems for crawlers by creating unnecessarily high numbers of URLs that point to identical or similar content on your site. As a result, Googlebot may consume much more bandwidth than necessary, or may be unable to completely index all the content on your site.”
Google has also emphasized on the point that what they want is that URLs to be unique so that the crawler is not confused by having all parameters.
You may also try and run a test search on Google, and you are most likely to see non-parameter URLs on highly competitive searches.
So, try and negate the appearance of parameter URL’s as they are likely to demote your performance. Whenever possible, shorten URLs by trimming unnecessary parameters and ensure URL length is below 100 characters.