Every Landlord should evaluate this for themselves.
I personally charge for two reasons: mitigate risk and increase revenue. I see nothing wrong with either of them.
One bad pet can easily cause thousands in losses. Torn blinds, scratched doors, torn carpet, burned or dug-up lawn, odors, chewed trim, and more. I think it is completely reasonable to mitigate your risk by charging extra, but it's very hard to charge enough to cover every potential problem.
I also see nothing wrong with earning a profit. Tenants understand the risk they pose with pets. They are also happy to pay extra to keep their animal with them. If you find a healthy balance, these tenants will hand you cash with a smile on their face!
I'm always evaluating and adjusting. My current policy is to assess a risk level based on the specific animal. I charge an up-front fee based on that risk level, then $25 per month for each animal. For example, a high-risk animal would be $700 up front, $25 per month. A low-risk animal is $200 up front, $25 per month. This is per animal, non-refundable, and the charge remains for the full term of the lease even if the animal is removed at some point during the lease. So the lowest I charge is $500 and the highest is $1,000. This sounds expensive, but the higher rate is reserved for high-risk animals/tenants and if we're going to accept the risk, they are going to pay for it.
In my experience, good tenants are good pet owners that will happily pay more, stay longer, and take care of the property. In the past ten-ish years with up to 400 rentals, I can only remember two that had pet damage that exceeded the deposit (both cat odor that required major cleaning, painting, and carpet replacement). Tenants that leave owing money are usually due to unpaid rent, general cleaning, abandoned furniture, etc.