Set optimization problem - is it np-complete?
The answer below observes that a special case of the problem is solvable in polynomial time.  This does not fully answer the question in the post, but may give some insight on what might be needed for an NP-hardness proof, and may provoke additional interest in the post...

Observation. The problem in the post has an algorithm that, given any instance where each $c_i$ is an integer, runs in time polynomial in $n$ and $D = \sum_i c_i$.

Proof sketch.
Fix any input $(S, w, c, K)$ where $w,c\in\mathbb{R}_+^n$ and (WLOG)
$S=\{1,2,\ldots,n\}$.  Rephrasing the problem slightly, the goal is to find $M\subseteq S$ of size $K$ maximizing $\frac{\sum_{i\in M} w_i c_i}{\sum_{i\in M} c_i} - \sum_{i\in M} w_i$.

Consider the following dynamic program.
For any integers $(d_1, d_2, k, m)$ with $0\le d_1 \le d_2 \le D$, $0\le k \le K$, and $k\le m\le n$, define 
$$\textstyle\phi(d_1, d_2, k, m) 
= \max \Big\{ \sum_{i\in M} w_i (c_i / d_1 - 1) ~:~
M \subseteq [m],\, |M| = k, \, \sum_{i\in M} c_i = d_2\Big\}.$$
The desired solution is $\max_d \phi(d, d, K, n)$.

Partitioning the possible solutions for $\phi(d_1, d_2, k, m)$ into those that contain $m$ and those that don't, we get the recurrence
$$\textstyle\phi(d_1, d_2, k, m)
= \max\begin{cases}
\phi(d_1, d_2 - c_m, k-1,m-1) + w_m(c_m/d_1-1) \\
\phi(d_1, d_2, k, m-1).
\end{cases}$$
We leave the boundary cases as an exercise.

The number of subproblems is $O(n^2 D^2)$, and for each the right-hand side of the recurrence can be evaluated in constant time, so the algorithm runs in time polynomial in $n$ and $D$. $~~\Box$

Corollary. Unless P=NP, any reduction showing NP-hardness will reduce to instances where $D$ is not polynomial in $n$.

Remark. Unless I am mistaken, there is also a PTAS for the problem in the post, based on rounding the $w_i$'s then using dynamic programming. However, the existence of a PTAS has no direct bearing on whether the problem is NP-hard, as asked in the post.

I am also curious --- does anyone know whether the special case when $w_i=c_i$ (for each $i$) has a poly-time algorithm? (EDIT: it does, per Willard Zhan's comment this seems to be optimized by taking $M$ to contain the $k$ largest elements.)