I like looking at photos of stuff in earths orbit. But when I google satellites I often get a lot of nice but not as exciting CGI. I understand it might be hard (but not impossible) for a satellite to take a photo of itself. Surely it can't be that difficult to put a camera on one though?
Satellites are expected to keep their distance from each other to avoid collisions. That means when a satellite would ever get close enough to another satellite to take a picture of it, something went really wrong.
Usually the only object which would ever be close enough to a satellite in orbit to take a good picture would be the upper stage of its launch vehicle right after separation.
Equipping the upper stage with a camera would add additional mass which has questionable use for the mission goal. You might have a chance to spot some external damage caused to the satellite during launch or separation. But the chances are low because the upper stage would see the satellite only from one direction. Also, light conditions in space aren't that well - you only have a single light source and almost no ambient light. Any damage to the parts in the shadow would be hardly visible. Well, you could perform some orbital maneuvers with both upper stage and satellite to get some good shots from all angles, but really, why bother? Either the satellite works or it doesn't, and spotting some scratches somewhere is hardly going to tell you what exactly went wrong during launch. Also, the risk to cause damage with these maneuvers isn't non-negligible either (a malfunction or operator error might cause upper stage and satellite to collide).
So what reason remains to take pictures?
And the public will be much more excited by a shiny, polished CGI image from an exciting angle than a grainy, badly-lit (hard shadows everywhere) photograph from a boring perspective. Look at this press image from ESAs SWARM mission, for example. Yes, pure CGI. But you couldn't take a photo nearly as awesome-looking under real space conditions. So why even bother trying?
One other thing to note is also that most of these computer generated graphics are prepared before the satellite even launches and might be used to get an impression of the whole mission, simulate satellites operation, assess mission feasibility, even to serve as a visualisation aid during design, selection and funding stages of the project. When the satellite is designed, engineers would build a computer generated 3D model of its parts and as assembled anyway, so taking those 3D models and running them through some eye-pleasing ray tracing software comes at little to no expense to mission planners, and agency's PR officers. And they tend to look a lot better and are available long before any selfies would be, so they are used in public media earlier. Once that's set in motion, certain images of the satellite design might have already imprinted into people's memories and by now a recognizable public image of the whole mission will of course be used more often than some low-quality selfies. Pre-existing CGI (often including mission demonstration videos) then remove that little potential value for vanity photography, unless they're already needed to conduct satellites mission anyway.
So if these cameras and the arms needed to distance them away from the satellite so the satellite can self-reflect would be strictly for vanity purposes, such as selfies, and public media already has press kit materials they need, then there isn't any technical and scientific justification to add such devices to them, and would only make them heavier and thus more expensive to launch. For self-inspection purposes, other types of sensors are more effective given the environmental constraints (lighting, solar radiation introducing sensor noise, atomic oxygen oxidizing exposed equipment, micrometeorites and dust disabling it altogether, and whatnot), they can be built into the hardware itself, are lighter, consume less power, and with no or fewer moving parts they're not just another point of failure with little to no benefit to the mission.
If satellites would have sets of arms for selfies, it would mean you're wasting precious weight and volume constraints, and the arms would likely have to be retracted during the launch into the satellite's body so it's weight-balanced, spin stable and fits into its payload slot, further reducing its usable volume and surface area that might otherwise be used for scientific equipment, propulsion and avionics systems, solar panels, heat radiators, heat insulation, and so on. Any such protruding arms would also open up and expose parts of the satellite to the environment once extended, and needlessly complicate satellite's design.
So, in a nutshell, it might make sense to include such hardware if that's required for satellite's self-inspection (say, International Space Station has cameras on its truss and robotic arms, and is technically still an artificial satellite), but with most smaller satellites that rarely has any real value. But for better or worse, it's not unheard of that something like this has been done solely for vanity and PR purposes. From description of the ARTEMIS SmallSats Constellation:
Users can even take “Selfies” and upload their images to the micro-satellites. The onboard cameras will capture the image of users Selfies against the background of Space and the Earth and will send the Selfie back to it’s user, creating a truly unique, once in a lifetime message.
Additional to the other answers:
if you would use your upper stage to take photos of your satellite, and even add lighting equipment you still would not get a nice shot, because most satellites take some time to reach their final configuration - they have to unfold solar panels, etc.
There is a matter of information security as well. Satellites are expensive, both for governments and businesses, and providing your competitors with information to reverse engineer your intellectual property doesn't make any sense. Any photograph may very well contain sensitive information about the construction of that satellite that an intelligent engineer can utilize to aid in reverse engineering. The great thing about the computer generated models is that you can control what the public sees.