I would be more specific than bingyucas. A substrate is our of compound of interest and it has carbon atoms that end up in the product. A reagent is a compound that simply acts on our molecule of interest but the reagent's atoms don't end up in our product of interest. A reactant is a something that has carbons which end up in our product, but usually the reactant is something simple like a grignard compound, a simple electrophile (allyl iodide), so on. You can certainly call your substrate a reactant, but you wouldn't call all reactants a substrate.
Examples 1: Let's say you want to add CH3MgBr into a fancy ketone that has taken you 15 steps to synthesize thus far. The starting ketone is your substrate (which you can also call a reactant), and the Gringard compound is the reactant (because it has carbons that show up in our desired tertiary alcohol product). However, one would not call the Gringard compound a substrate just because our focus is really on the fancy alcohol.
Example 2: Let's say you want to oxidize a secondary alcohol to a ketone using Jones reagent (CrO3). The secondary alcohol is again our substrate (which can also call a reactant). The CrO3 now is a reactant b/c it is just helping us transform our substrate into product, but it's not actually adding any carbon atoms to our substrate.
Finally, it's not like I read these rules in a book somewhere... this is just the way most synthetic chemists use these terms most of the time.