Two years sounds about right, I think. Three is a stretch, especially if youre a heavy user, because update bloat slows the OS and your battery starts to crap out.
Speaking of batteries crapping out - Samus Returns will be the last 3DS game I buy. I never knew how terrible it could be to have a handheld tethered to one place until I realised my 3DS battery doesnt hold more than two minutes of charge anymore. I have to hold the system at a particular angle while playing in bed - its awful.
The worst part is that because I have an American 3DS, I dont think I can buy a local one for cheap and transfer my data over either.