To clarify, there is a difference between path and URL. URL is the full URL including the domain. So in this case the URL is https://site.com/a. The path however, does not include the domain. So the path here is just /a. So it would be incorrect to use path equals http://site.com/a.
I prefer to use URL because we run Target on more than one domain and I need to specify which domain the test is running on. Also, I don't find the "equals" evaluator to behave exactly as I would expect it would. It is very strict and often excludes things I had not intended it to. So I prefer to use contains.
I like to be very specific about what traffic I am including and excluding and that is why I wrote it the way I did. My audience will include everyone who has https://site.com/a in the url, but will exclude those with a ?. Hope that helps.