Contrary opinion: I use separate libraries for MUSIC and PHOTOS. If I cared about videos I'd have them separate too.
Not because MC can't deal with all-together, but because it's much easier for me to manage if I keep them separated. I have tens of thousands of each type of file, so managing storage is critical. Music files are stored on a particular drive path, photos on a different drive path, for instance. I can then easily copy all the photos to a portable drive to then put on PCs of other family members (in other towns), without mixing in music files that I do not share.
Also, views that are optimized for Photos have different fields (standard and custom) and columns and layouts than views optimized for Music. For Photos I care about Captions and other fields that tag and categorize images, such as date, location, type of event/activity, people in the photo, etc. Because MC does not directly map some of its photo-specific fields to somewhat-standard image tag fields used by other imaging apps, I use tricks posted here long ago to simulate this, using keyword naming that then encounters expressions to populate other fields, and to create very useful views grouped by People, Places, Events, etc. If I had just one library and did this, none of that would be useful for Music, which has its own specialized fields that get different processing. (Actually I have two music libraries, one just for Holiday\Christmas music, better than having to wade through thousands of such tracks the other 11 months, though using just one music library has some offsetting benefits.)
But for me, mixing Music and Photos into a single library would be like dumping my steak dinner and my breakfast cereal into the same bowl at the same time, just to avoid washing two dishes. Actually, that would be worse, because setting up multiple MC libraries is just a one-time task.
I've been doing this for years (started with MC when it was MJ6) and find a huge feature of MC is that I can use multiple libraries, each customized for its purpose, because most of MC's config is library-specific (stored in the library). (MC is 95% there, though a few settings are global, so a struggle requiring cross-library compromise settings.)