Why not a 3D printer?
I think a lot more people have 3D printers than CNC mills and they're great tools. There's a bit of an overlap with a mill, but they both have their strengths and weaknesses. Comparing a mill to a printer we broadly have:
You can mill PCBs. This is one of the main reasons for my choice. I was about to go down the laminator / toner transfer method of PCB manufacturing when I discover the milling option.
You can mill different materials. Most 3D printers are limited to one or two plastic materials. I can use anything softer than steel - usually wood, acrylic and aluminium in my case.
There's also differences that can't really be described as a pro or con - just whether they suit what you're doing. With a mill you're subtracting material; with a printer you're adding material. If you want a large block with small cutaways then a mill is the best tool for the job. If you're making a single-piece hollow shape then a printer would be better.
It can be messy. I spend a lot of time vacuuming up sawdust or ground up bits of plastic or metal.
Rounded internal corners As you're cutting away material with a milling bit you're limited by the radius of your milling bit when doing internal corners. External corners can be perfectly square and sharp, but not inside.
Why not a laser cutter?
Laser cutters are expensive and I haven't seen any simple home builds. They're great for accurately cutting through soft sheet material like wood and plastics but can't do PCBs for instance. Basically they're a also a good tool, but not what I wanted.