I dunno about Latin, but for most languages, the best way to learn what the verb forms are is to read and converse a lot, and attempt to write using sentences to the limits of your ability, with someone competent to correct (but ideally not to penalize) your errors.

Learning grammar completely abstracted from use is a masochistic and ultimately rather pointless exercise, whose main use as far as I can tell is providing a conveniently simple way to assess effort expended in language courses without having to assess real fluency (which takes more work for a teacher). Harshly grading grammar mistakes discourages people from pushing at the limits of their ability, because it rewards using only words and grammatical constructions that the student is completely confident in. The goal of any language course should be to encourage as much real language use as possible, because that’s the only way to real fluency, including fluency with correct grammar constructions.

The knowledge of the year the first Punic War began will be learned pretty well if you go read 50 letters written during the first Punic War, instead of looking at dates on flash cards. But reading those letters will ultimately be a lot more engaging and relevant to other circumstances. The year itself is only a useful fact insofar as it provides a point of reference by which other events can be compared. Memorizing a bunch of dates for their own sake is in my opinion wrongheaded, especially for non-specialist students (that is, primary students up through undergraduates). Much better to understand the causes and progress of the 1st Punic War than to spout off 100 dates of battles.

No one gives a damn where Vergil was born except the people who live in that town, and maybe some other poets who refer to the town and expect their readers to know the reference. In other words, the main reason to know where Vergil was born is just to impress people in the “in crowd” of snooty scholars, or some teacher with backwards priorities. Much better to spend your time carefully reading Vergil’s works, thinking hard about them, and coming up with something interesting to say.

Your elseif vs. elif spelling is a pretty stupid (in my opinion) thing to intentionally spend time memorizing. Go build some stuff in your language, looking up the parts you need. Every once in a while go through some language references or tutorials, etc. I guarantee you can learn the syntax of most programming languages without ever making a single flash card.

Now, there are some things you need to memorize:

* Medical symptoms and diagnoses, drug interactions, etc. if you’re a physician.

* Lines of a play, if you’re an actor; this holds for other kinds of performances too, such as music, etc.

* Basically, anywhere where knowing the precise fact is the goal. This does happen fairly often in the world; a supermarket cashier might need to memorize which aisle has the bread, for example, and a good teacher should try his best to learn the names of his students.

The thing is, often knowing the precise fact is assessed, and is the explicitly stated goal for students, but is not actually a good goal, pedagogically. Students who do not question the stated goals of their schooling are in my opinion harming their own educations, even if they are able to ace everything by official standards.