The trick to wave/particle duality is that the phrasing "light IS a wave" or "light IS a particle" is misleading. Light BEHAVES as a wave, or Light BEHAVES as a particle, depending on circumstances.
Wave/Particle duality is a construct that appears when we try to model subatomic things like electrons and photons. As best as we understand, everything is described using a Quantum Mechanics "waveform." Note, this quantum waveform is not the same thing as what you are calling a "wave," but unfortunately it has a very similar name. QM waveforms are basically functions that obey wave mechanics, so they are given that name. It confuses the issue, but I'll make sure to always use "waveform" when talking about the underlying QM waveform, and "wave" to talk about the wave part of wave/particle duality.
Given that we have no better model, I will talk as though QM defines the "true" nature of a photon or electron. In reality, QM is just another model. However, it is easier to explain if I get to pretend for a moment that it is the actual final answer to how the universe works. The wording is much easier to read that way.
The real rub with this model is that its a real bugger to actually solve the equations for anything complicated. The standard procedure is to break this waveform up into so-called "wave packets" which are little snippits of a waveform. In the vast majority of cases, these snippets line up well enough to let us simplify our quantum models into more classical models of waves and particles:
- In many cases, the interactions at work affect all of the wave packets the same. This leads to wave behavior, where we can use tools like superposition to model each piece independently then stitch them all together.
- In other cases, the interactions affect the wave packets markedly differently. For instance, this happens in situations where there are interactions between photons and electrons. Not all of the wave packets are affected the same way (some may interact with an electron, while a nearby packet coasts by with minimal interaction), so we can't use superposition. However, if enough of these events occur, we lose all coherency of phase (an important factor in wave mechanics). Accordingly, we can simplify to the particle model, rather than the wave model. In the particle model, we assume all waveform phase issues are randomized because there have been enough interactions to break up any coherency.
Both of these rely on simplifications. The wave model assumes that all packets are affected identically. In reality, there are minor differences in interactions, but we assume they don't matter. Likewise, the particle model assumes all packets are not coherent with each other, so we don't have to track phase. We can model objects like billiard balls instead. In reality, its rare for all of the particles to have no phase correlations, but we assume those tiny correlations don't matter much.
The trick to wave/particle duality is that, no matter which model we used, under the hood you really have a quantum waveform. Its just a matter of which classical model is better at describing the situation with the fewest calculations possible. Generally speaking, the vast majority of systems can be modeled as waves or particles, without any worry of duality.
But there are a few cases where it does matter. It is possible to construct systems where the wave packets we broke the waveform into don't quite lose coherency, but don't quite get affected by the environment in the same way. In these systems, we say the particle is exhibiting wave/particle duality, but in reality a better phrasing might be that neither simplification of the quantum model is sufficient to properly model the behavior.
The classic example is the single-photon dual slit experiment. A single photon is fired towards two slits, so it clearly has to go through one of them towards a detector surface. However, when we record the result of many such single-photon experiments and plot them together, it appears that the photon has somehow interacted with itself to form interference patterns, which could only occur if it went through both slits at once like a wave does. The reality underneath is that the experiment manipulated a quantum waveform in a way which made it hard to model as either wave or particle. The initial photon generation step is best modeled with the photon as a particle because there is a minimum quantum of energy associated with that photon (see the Photoelectric Effect). However, in the second step (the slits), the photon is best modeled as a wave because the phase effects matter greatly.
What this wave/particle duality shows is that in a double-slit experiment, we see that light behaves neither perfectly like a wave nor perfectly like a particle. The reconciliation of this is found in the quantum waveform, which when fully computed yields the experimentally achieved results.