I have been using device-and-user mode for several years. There is no technical reason to make them different, but I am guessing that this makes it easier to keep track of your system. I have a customer with three different locations, so I name the phones 21XX for the first location, 22XX for the second, etc. That way, a quick glance at the peers state will show me if there is a problem with a single phone, or whether a location is off-line.
What rchalk said : I use deviceid=userid on certain extensions for the ‘main’ phones, purely because PJSIP wasn’t available at the time of setting it all up, and I needed more than 1 device per user - the other devices associated have couple more numbers in front (like, XX would be the desktop phone, 50XX would be softphone, 90XX would be mobile client, given it doesn’t clash with other feature codes more or less - and all these would be the devices of user XX).
It complicates things a bit (you need to remember to setup things like routes, voicemails, transfers etc. to User number not device number, for example - since direct dial to device id not possible)
ASterisk deals with Devices and extensions as different things. FreePBX sinmplifies life by making them appear as one. AS mentioned there is not reason they have to be different, and FreePBX does exactly that, they are the same. It only matters if you want multiple devices on one extension. In the case of FreePBX, there are a number of modules that deal nicely with device/user mode (which is what we are talking about), and it is recommended to use PJSIP in this case. It’s cleaner and works well (ok…) with FreePBX.