A grignard can act as both depending on the substrate. For example if you react it with an acyl chloride (RCOCl) you would generate a ketone by displacing the Cl, substitution. If you react it with an aldehyde (RCHO), you would make an alcohol, notice no leaving group was displaced, addition.