there are actually two separate issues -- whether to use a surrogate key, and what to call it
the surrogate key would be an auto_increment, where the user is identified by a number, as compared with the user being identified by a userid like 'BigTodd'
my own preference is never to use "id" as part of the column name unless you're dealing with a surrogate key
so in the previous example, 'BigTodd' would be called username, and it would still be a perfectly good primary key
when i use an auto_increment, i always give it the name "id" (so that i know that every table that has a column called "id" is using an auto_increment as the primary key)
then foreign keys in other tables are called "userid" if they reference the id column in the users table