They offer the same selection. Oh, and when I was looking up how this worked and posting it here, I decided it ought to be changed slightly. As of
revision 725, along with Housing Projects, Crackhouses, and the 3 current/former CCS Hideouts, Homeless Shelters are now another appropriate location for buying from Gang Members or Elite Security if you run into either of them. Homeless Shelters are equally decrepit and full of criminal lowlifes as those other locations. I didn't add Abandoned Factories, though, since those can be turned into fancy business fronts. The other change was, they would think you were a cop if you wore a Police Uniform or Police Body Armor, but they'd still sell to you if you were wearing SWAT Armor or a Death Squad Uniform. Now, they'll assume you're a SWAT Officer if you have on SWAT Armor and not sell to you, and if Death Squads exist (police behavior and death penalty laws both C+), they'll assume you're a Death Squad Officer if you're wearing a Death Squad Uniform.
Prostitutes asked out on dates would similarly turn you down if they thought you were a cop, but only for someone wearing a Police Uniform or Police Body Armor. Now they check for all 4 of those law enforcement-related types of armor (although the Death Squad Armor, again, only makes them think you're a cop if Death Squads actually exist and both the laws concerning them are C+).
And yes, you can buy from Elite Security just like from Gang Members, I'm not sure when that was added or why or who did it, but seems legit, Elite Security would probably have access to great weapons, plus they AREN'T cops, they're private mercenaries only in it for the money.
And yeah, Gang Members and Elite Security both offer the exact same selection. If you want a different selection, shop at the Oubliette, Department Store, or Pawnshop.
Now, in lots of locations, Police Uniforms and Police Body Armor work as a disguise but SWAT Armor and Death Squad Uniforms don't. I am assuming this is because people would expect to see a regular Police Officer there, but the presence of a SWAT Officer or Death Squad Officer wouldn't be expected so you'd be out of place if disguised as one of them. So you might wonder, why would someone wearing, for instance, a SWAT Armor at a location where it isn't a valid disguise not be able to buy weapons or ask prostitutes out on dates? Well it's because the Gang Members, Elite Security, and Prostitutes are overly cautious, and even though a SWAT Officer would be considered out-of-place at such a location and thus it wouldn't be a valid disguise to wear SWAT Armor, they still wouldn't be entirely sure you're not a cop, and they'd be trying to play it safe and even if they think you probably aren't a cop, they'd avoid illegal activity in your presence just in case they're wrong, out of caution.
So that's an explanation of those changes in
revision 725 that relate to this. Because after I looked up the answer to the question in the code and explained it here, something seemed a little off about it and I wanted to fix it. That's why I used the wording "The locations that currently work"... I was already planning on changing the list as soon as I saw Homeless Shelters weren't part of it, that's why I used the word "currently", since it seemed wrong to leave the Homeless Shelter out of a list of locations where criminals and lowlifes hang out and illegal activity is commonplace (something true of Housing Projects, Crackhouses, and CSS Hideouts).