We examine the effect of rough surfaces on crystal nucleation by means of kinetic Monte Carlo simulations. Our work makes use of three-dimensional kMC models, explicit representation of transport in solution and rough surfaces modeled as randomly varying height fluctuations (rough- ness) with exponentially decaying correlation length (topology). We use Forward-Flux Sampling to determine the nucleation rate for crystallization for surfaces of different roughness and topology and show that the effect on crystallization is a complex interplay between the two. For surfaces with low roughness, small clusters form on the surface but as clusters become larger they are increasingly likely to be found in the bulk solution while rougher surfaces eventually favor heterogeneous nucleation on the surface. In both cases, the rough surface raises the local supersaturation in the solution thus leading to another mechanism of enhanced nucleation rate.