Activities are meant to be used for things that require "ongoing" participation, such as a school club, athletic team, performing arts group, etc. Students involved in an activity are known as participants. Think of each activity as a sub-group, or roster of students (i.e. art club members, dance team members, etc). When students are added to an activity there's no time component; they are either on the list or they're not. If an activity is worth points, the associated students will receive those points as long as they remain on that roster.
An event is used to take attendance, so we know who was there (and possibly who wasn't). Students that go to events are known as attendees. Events can be related to an activity, if needed. For example, we might create an activity called "Art Club" to keep track of students that are members. We can also create an event called "Art Club Meetings" to keep track of who attended regular club meetings.
Because we're tracking attendance at events, the system captures arrival date/time (check-in) and optionally when they leave (check-out). Just like activities, events can also be worth points.
Events can be scheduled to happen one time, such a dance, or on a repeating schedule, like a weekly club meeting. For repeating events, students can check in multiple times, up to once per day by default.