If you are rolling your own...
Just to clarify... I think most tracking systems will see the user agent (browser) as the "visitor". It's not possible to track real people unless you have some authentication/login in place. Most normal users will tend to use just one browser, but often on more than 1 device these days - so 1 real person is likely to equate to more than 1 visitor.
The IP address alone is not sufficient, since it can be shared by many many users (behind NAT).
So, if you reside to the fact you are tracking user agents then, in an ideal world, the cookie is king. However, not every user agent supports cookies (or has them enabled) - robots, for instance, generally do not have cookies enabled. So, unless you are filtering this traffic by some other means (by analysing the user agent string for instance) then your visitor stats are going to be seriously skewed.
A simple way to workaround the no cookie issue is to fall back to checking user agent string + IP address. Checking a browser fingerprint is a bit overkill in my opinion, and possibly too slow.
Bear in mind that no one system is perfect. Different systems tend to return different results depending on what they consider a visitor to be.