A broadcast must be passed to the upper layers in order to evaluate it to see if it is relevant for the host, and that needs to be handled in software.
Broadcasts do have an effect on host performance, but not as much as before since we now have faster and multi-core CPUs. Broadcasts also use, possibly unnecessarily, bandwidth, but we also have faster networks. Faster processors and faster networks could also mean more broadcasts, too.
It is still a very good practice to limit the size of the broadcast domain. It used to be, "Switch where you can, route where you must." That is no longer strictly true, and an emerging best practice is to use layer-3 switches, instead of layer-2 switches, as access switches. This eliminates problems with things like spanning tree, and allows more granular layer-3 security features. Very few thing we use today depend on hosts being on the same layer-2 network; we live in a layer-3 world.