Q: When would it be appropriate to use CNN vs. DNN? I guess the common rule of thumb when choosing between CNN vs. DNN is if it has to do  with images choose CNN and data points for DNN. 
But what if input images are pretty small.. in my case (33,45,3) or (33,15,3), or flatten to 4455 or 1485 datapoints. . 
When considering each as pixel as a datapoint I don't see that big of an issue using a DNN to train the data, given the number of data points are pretty small... 
Why shouldn't I do this?
CNN: Convolution neural network
DNN: Deep neural network

A: It depends on your goal and how the data looks like. If, for example, your goal is to detect some object in the image, regardless of its position, then you would use a CNN, because the convolutional filters, together with pooling, achieve that, and generalize much better. All successful models which have won some competition (imagenet, R-CNN, ResNet, ...) are based on convolutional layers, among other things.
By not encoding invariances in the architecture, you need to collect much more data, use more parameters (you need to be able to detect the very same objects at several positions by different groups of weights), and most likely it will not perform as well.
