Francesco's answer is completely general.  As he emphasized, we should do everything in an intrinsic way so that there is a canonical choice of Theta.  I hope I get this straight since it is very pretty.

Indeed this is Riemann's classical proof of Jacobi inversion.  If L is any degree g line bundle, then K-L has degree g-2, so the translate C+(K-L) lies in Pic^(g-1). Then the pullback of O(Theta) = O(W(g-1)) by this translation map C-->Pic^(g-1)(C) is L.  (This also shows that this map induces an isomorphism from line bundles on Pic^(g-1)(C) of chern class [Theta], with line bundles on C of degree g.)

I.e. consider this as the problem of intersecting the curve translate C+(K-L) with the divisor W(g-1).  We know L = O(p1+...+pg) for some points pi, and that the intersection has degree g.  So if the intersection is proper, there exist g points p such that (p+ K -p1-...-pg) lies on W(g-1), i.e. such that

p + K-p1-...-pg = q1+...+qg-1, for some q's.

But this is true for p equal to any pi, i=1,....,g, if for p = pi0 we take 
the q's to be such that O(q1+...+qg-1) = O(K- sum of pi for i ≠ i0).  (Such q's exist by Riemann-Roch.)


Thus intersecting C+(K-L) with W(g-1) was Riemann's way of finding a divisor D such that O(D) = L.  Your question is the same, but phrased in terms of line bundles.  The common practice in many books of always working in Pic^0(C) via translating by a fixed point may obscure the intrinsic nature of the statements.  In fact I seem to be guilty of this in my argument on pp.386-7 of Lectures on Riemann Surfaces, (World Scientific Publishers 1989, ed. by Cornalba, Gomez-Mont and Verjovsky), where I take the strange approach of deducing this intrinsic version from a clunky non intrinsic version, thus making it look less comprehensible.

If you look closely at Lemma 3.4 of Lange Birkenhake, p.335, on which the exercise Francesco cites is based, you may discern a translated version of the Riemann result proved here.

Let me enlarge a little on this.  Classically the theta divisor is the zero locus of a certain holomorphic theta function.  Computing its zeroes is done by the residue theorem. Recall there is a generalization of that theorem that allows one to compute not just the number of zeroes inside a given loop but also the sum of their values, (see Ahlfors,4.5.2 the argument principle, pp. 151-153, esp. eq.(47) p.153).

Your question is exactly this, i.e. not only how many intersection points exist, but what is their sum as a point of the Jacobian, i.e. as a line bundle.  Traditionally this was a lemma used to prove Riemann's theorem that the zeroes of the theta divisor are, up to a precise translation, exactly the image of the Abel map on C^(g-1).  This is made very clear in Griffiths-Harris, where the number of zeroes is computed on pages 334-335, and their sum on pages 336-337, both by the residue theorem.  These results are then applied to prove Riemann's theorem on pages 338-339.

This result appears in the classical form also in Mumford's Tata lectures on theta I p.149, or Siegel's Topics on complex function theory vol. 2, section 4.10.  If one uses a modern approach to that theorem by equating the homology classes of those two divisors and proving this forces them to be translates, as in Lange and Birkenhake, one loses some explicitness of the classical approach.  It does however then make available the relatively easy intrinsic proof given here for your question, and resembling that of their lemma 3.4 on p.335 of their book.  I think in some sense this may be a more natural approach.

Note that this result is key to the construction of a "Poincare" bundle, since it gives a uniform way to construct a family of divisors on Pic^g(C), i.e. a line bundle on C x Pic^g(C), whose restrictions to the curve C induce all line bundles of degree g.  Hence this construction too is essentially due to Riemann.  This is clearly explained by George Kempf on pages 154-157, chapter 18, of his book Abelian Integrals, Monografias del instituto de matematicas, #13, Universidad Nacional Autonoma de Mexico, 1983.