I recently purchased a Logitech Harmony 700 programmable remote to use on my HTPC (it's a highly recommended remote by XBMC users). The problem however is that there are only two ways to configure it:
(1) The official way is that you go to http://www.myharmony.com/ and register an account. Once done, you log into the site and it opens up a Silverlight interface (that's right, Silverlight - not HTML/HTML5, not even Flash, but a rarely used Microsoft plugin who's Linux equivalent, Moonlight, doesn't work properly anyway) that allows some coarse configuration but not much in the way of fine grained options.
(2) The less official way is to download the Logitech control application (Windows only, of course), which still requires an account. It also feels very much like a web application in a native window since it's still slow as it loads up various pages from the Internet anyway. But at least you get full control using it.
Point is that in both scenarios, you MUST have an account to program the remote. Now of course having this data available in the "cloud" means that should you reformat or otherwise need to reconfigure your remote after a reinstall of the software, you can still obtain your carefully-configured settings. The other idea is that Logitech have a database of pre-configured devices that can be uploaded to the remote which is continaully updated with newer models, but it's not like the native application couldn't just obtain that info without requiring an account.
Logitech deliberately made it so that they must know how your remote is being used. Not that they'll work out anything interesting with it, except perhaps what devices I use and how I use them. But fuck me, this is not a good direction to go with - requiring registration over one's hardware before it can be used fully.