None is better than the other, as they have different duties. Firewalls protect networks and devices at IP and port levels, while DNS filtering examines DNS requests to prevent access to blocked websites.