The most important thing to remember is that the present subjunctive (and past) is a mood rather than a tense. It doesn't refer to the time at which an action takes place but instead is used in impersonal expressions and expressions expressing doubt or uncertainty. The first thing to think about when considering whether or not to use the subjunctive or indicative is the relative pronoun "que" since this often triggers the subjunctive. For example, in the phrase "me enfada que hables" "hables" is in the subjunctive mood. Often, if the subject of a dependent clause is different to that of the main clause, the verb in the subordinate clause goes into the subjunctive. For example "quiero que vayas a América" means "I want you to go to America" while "I want to go to America" is simply "Quiero ir a América."
To remember the situations in which to use the subjunctive, I like to use the mnemonic WEIRDO. W stands for wishes: for example "espero que" and "ruego que" trigger the subjunctive. E stands for emotions: for example "me molesto que" and "me gusta que" are followed by the subjunctive. I stands for impersonal expressions, which have no subject: for example "es importante que" and "es necesario que" trigger the subjunctive. R stands for recommendations: for example "sugiero que" and "recomiendo que". D stands for doubt or denial: for example "dudo que" and "no creo que". Finally O stands for ojalá, which is followed directly by the subjunctive without "que" and expressed a hope or wish, for example "ojalá no llueva" can mean "I hope it doesn't rain."