Both pertain to the "where" of aspect-oriented programming.
A join point is an individual place where you can execute code with AOP. E.g. "when a method throws an exception".
A pointcut is a collection of join points. E.g. "when a method in class Foo throws an exception".