The answer stating than in a "normal" 802.11 environment, there should be no collisions, is false.
Every station does not ask for permission before transmitting, that is only the case when RTS/CTS (Request-To-Send/Clear-To-Send) is used, which is optional in the 802.11 set of standards:
The RTS/CTS mechanism is not used for every Data frame transmission. Because the additional RTS and CTS frames add overhead inefficiency, the mechanism is not always justified, especially for short Data frames.
A STA shall use an RTS/CTS preceding a frame exchange including an individually addressed Data or Management frame when the length of the PSDU is greater than the length threshold indicated by dot11RTSThreshold. A STA may also use an RTS/CTS exchange for individually addressed frames when it is necessary to distribute the NAV, or when it is necessary to establish protection (see 10.27), or for other purposes.
Regarding your question :
So I was wondering if there still might be collisions at all. I assume that it can't prevent 100% of all possible collisions but I am not sure when they do happen.
Yes, indeed, collisions happen all the time! One classical problem with CSMA/CA is the hidden node problem : two STA that want to communicate with the same third STA may not hear each other, they might send frames to the third STA, which will not be able to receive any of the frames.
Even if two STA are in range with each other, they might decide to transmit at the same time if the medium has been free for enough time (the DIFS − Distributed Inter Frame Space).
For more details about CSMA/CA and the DCF in Wi-Fi networks (a type of WLAN), you can read the 10.3.1 General
section of the 802.11-2020 standard.