First, it should be made clear that either of these phrases can be used to mean 'for' in English. The reason we have two different words in Spanish is because they are used for slightly different purposes. 'Para' is used more often for what we would use 'for' in English for, for example, '¿Tienes el tiempo para esto?' Asking, 'Do you have the time for this?' This use of 'para' translates easily to English. 'Por', on the other hand, can be used differently. It may be used to say 'by,' or 'through' or 'on behalf of' for example: 'Vengo por la puerta' meaning 'I came through the door.' There are a few rules you can use to remember the subtle difference between 'por' and 'para'. Firstly, 'por' is normally used to describe the cause of an action and 'para' for the effect. An example of this is 'compro aquel bebido para tí' versus saying 'compro aquel bebido por tí.' Although both sentences translate to 'I buy that drink for you', the first one infers that you bought the drink to give to the person, and the second suggests that you bought the drink on behalf of that person. It may also be described as the difference between how you arrived somewhere and where you arrived, or the difference between how long it is until a deadline and when the deadline is itself. E.g. 'La tarea es para mañana' (the task (often used for homework) is for tomorrow) or 'La tarea durante por un hora' (the task lasts for one hour)