It depends on how you do it. You can just make one site and view it on all devices. Using CSS @media rules, you can style the site differently depending on screen size if you like. (That will create an optimal experience.)
Alternatively, you can create a separate site for mobiles and use a server-side script to detect the device and redirect to the approapriate site. However, this is inefficient and unreliable, as there are many new devices appearing all the time, so the script has to be updated constantly, and devices often lie about what they are, so results are unreliable.
For small to medium sites, using CSS on the one site is the better option.
You can find a lot of good articles here.
For a mobile site to action media queries properly you need to add the viewport meta tag and you can read up on it here.