Continuity Between Metric Spaces
Even if we are mostly interested in continuity between nonmetric spaces I think it helps intuition if we look at metric spaces first. The diagram shows a function from X with a metric δ to Y with a metric ξ. We have an open set which is a ball around x and an open set which is a ball around f(x). For continuity, as the ball around x gets smaller we want the ball around f(x) to get smaller. 
To visualise this as a function better lets draw these balls in two dimensions only: 
As an example of a function that is not continuous lets take a function that has value 1 when x<3 and has value 4 when x<=3. 
Here we can see that there is a smaller ball (open set) in Y but it doesn't have a corresponding ball (open set) in X. So we can start to see that there is a requirement, for continuity, that open sets in Y map through f^{1} to open sets in X. 
Continuity as Pullback
This diagram shows a set of points being mapped to another set of points (in red). For that map to be continuous the preimage of every open set must be an open set (shown as blue map in the reverse direction). 
Continuity and Limits
In the continuity between metric spaces examples at the top of this page we reduce the ball in the codomain and the ball in the domain must also reduce as the map is continuous.
The limit is when the ball in the codomain and the domain both reduce to a single point.
This idea of a limit generalises to continuous maps between nonmetric topological spaces.
See page here about categorical limits.
Continuous Maps Preserve Limits
Topology PerspectiveLet X and Y be topological spaces. A function f : X>Y is continuous if for every xX and every open set U containing f(x), there exists a neighbourhood V of x such that f(V) 
Category Theory PerspectiveThe category Top has topological spaces as objects and continuous maps as morphisms. The isomorphisms in this category correspond to homeomorphisms in topology. Top preserves limits and colimits. Simplicial sets are colimits of Top. Top is a category but it does not have exponential objects for all spaces and so it does not have some nice properties: it is not cartesian closed or a topos. If these properties are required then there may be variations of Top for the spaces required that have these properties. For example, nice topological spaces such as compactly generated topological spaces. Or see homotopy category at ncatlib. See page here about categorical limits. 
Continuity of Maps between Lattice Structures
So far we have drawn diagrams with intersections and unions (Venn diagrams) but we could also draw these in terms of logic. 
Examples
In this diagram the points stay within their open sets. This is a continuous map, the preimage of every open set is an open set. The intersections and unions of open sets play nicely together.  
This next example is not a continuous map because the preimage of A is not an open set because it includes A and A/\B but not B. We could think of this as a tear.  
Again this example is not a continuous map because the preimage of A is not an open set.  
In this example the whole space is shrunk to a point. This is a valid continuous map because the preimage A\/B is an open set. 
Homotopy
If we have two topological spaces X & Y with two continuous maps between them F & G then a homotopy is a continuous map between F & G. In order to see how this is related to the map between the cup and torus I have drawn a map from a third shape (in this case another torus). So as F continuously maps the G then the cup maps to the torus. 
We can move the continuous map forward from the functions to the domain so the functions are homotopic if: H: X × [0,1] > Y where:
We can think of this as 'filling in' the gap between F and G so that we can take any path through it. 
Or we can draw it in the codomain (currying) so that each element in X maps to I>Y. 
More about homotopy on page here.
Transport
from here  transport : Path U A B > A > B 
That is, if we have a path from A to B and A, then B.
Composition of Paths
We want to compose these two paths:

from here 
compPath (A : U) (a b c : A) (p : Path A a b) (q : Path A b c) : Path A a c = comp (<_> A) (p @ i) [ (i = 0) > Where 'comp' is a keyword with the following parameters:
