For IP (Ethernet or wireless cameras) I like the D-Link 5xxx series. The D-Link 5020 works very well for me with motionEyeOS. They can save directly to FTP, Directly email for motion, are fully PTZ with direct web access and a decent Android app, have ports set up for jpg and streaming outputs for motionEye or motionEyeOS to retrieve. I catch them on sale (or the newer 5030) for about $35-$50 and are a great value for PTZ cameras.
Nest, Arlo, WYZE, and others only seem to work with their services, some of which are paid services, but don't give you local control.
I use a PIZeroW and the PiCamera for a stationary camera, and it works well. I am using a TIGA USB based (Box labeled Pilot) DashCam that mostly works, but the motionEyeOS drops the camera at random times, and only unplugging and re-plugging the camera resets it. Power off reboot doesn't reset it. It also happens on a Logitech USB WebCam, not as often.