The join points are opportunities, but all of them are not considered where the aspects can be applied. A pointcut is where the developers decide to apply the aspect to perform a specific action for the cross-cutting concern. The pointcut is written using the method names, class names, and regular expressions to define the matching packages, classes, and methods where aspects can be applied.