Let me give some more insight.
I am creating a hotel booking service website. I want to capture as much info as possible about the user and his machine. If he messes around with the booking system (involving payment system also) then I might blacklist him.
A user can be identified by login id /password but only when he/she is logged in.
I have an option of allowing somebody using this service(hotel booking etc) with even logging in ie as anonymous. In this there would be possibilities of hack attempts and all. Here, I want to capture user's machine's identity.