a straight .php url uses the post method to move data between pages, no real data limitations, hides the data from the user.
a .php?id=xxx; url is using the url to pass data generated in some format. i have a site where clicking on a picture passes the product name in the url and on the next page, the product name is taken in and used for a query to display more info about the product.
it is simply another method of passing data. it is somewhat less secure as users can see what is being passed, there is aslo a limitation of about 2000 characters that can be passed through the url...this ueses the get method to pass the data from a form...thouhg links can be built to use this method
<a href="www.mysite.com?prod=31"><img src="/images/prod31.jpg" alt="click pic to see more"></a>
there are very few perfomance issues around using one over the other...
generally the rule is:
lots of data - post method
secured data - names, address, credit card #s - post method
search data - get method
simple data - product ids, image names, etc - get mthod of form
dymanic link with insensitive data - pass in URL
hth