In this paper, we propose a two-patch SIRS model with a nonlinear incidence rate: [Formula: see text] and nonconstant dispersal rates, where the dispersal rates of susceptible and recovered individuals depend on the relative disease prevalence in two patches. In an isolated environment, the model admits Bogdanov-Takens bifurcation of codimension 3 (cusp case) and Hopf bifurcation of codimension up to 2 as the parameters vary, and exhibits rich dynamics such as multiple coexistent steady states and periodic orbits, homoclinic orbits and multitype bistability. The long-term dynamics can be classified in terms of the infection rates [Formula: see text] (due to single contact) and [Formula: see text] (due to double exposures). In a connected environment, we establish a threshold [Formula: see text] between disease extinction and uniform persistence under certain conditions. We numerically explore the effect of population dispersal on disease spread when [Formula: see text] and patch 1 has a lower infection rate, our results indicate: (i) [Formula: see text] can be nonmonotonic in dispersal rates and [Formula: see text] ([Formula: see text] is the basic reproduction number of patch i) may fail; (ii) the constant dispersal of susceptible individuals (or infective individuals) between two patches (or from patch 2 to patch 1) will increase (or reduce) the overall disease prevalence; (iii) the relative prevalence-based dispersal may reduce the overall disease prevalence. When [Formula: see text] and the disease outbreaks periodically in each isolated patch, we find that: (a) small unidirectional and constant dispersal can lead to complex periodic patterns like relaxation oscillations or mixed-mode oscillations, whereas large ones can make the disease go extinct in one patch and persist in the form of a positive steady state or a periodic solution in the other patch; (b) relative prevalence-based and unidirectional dispersal can make periodic outbreak earlier.